Different numbered multiple FXO inbound line call routing

Hello,

I installed Asterisk-1.4.16.2 with 4-port FXO TDM400P and 4-port FXS TDM400P modules.

I am trying to configure Asterisk following scenario.

1.4-port FXO has 4-lines from PSTN provider and each line has own different line number.

2.Need to route those different numbers to different SIP, ZAP extensions.

How can I configure it on Asterisk?

I am bit googled didn’t find right helpful information for my question.

Is there any site has helpful information about it?

Is there anyone has same configuration?

Thanks,
Balgaa

Setup each port with different context’s in zapata.conf. Then in extensions.conf you can treat each dialed number differntly because they will go to the respective context.

I understand different context in zapata.conf to use for inbound call routing.

For oubound call case I understand, need to register different SIP/Zap subscriber phone into same context as described in zapata.conf

Am I correct?

Also I didn’t get Caller-ID on NoOp() command, but Caller-ID show on SIP, FXS Zap subscriber phone set.

Is it possible to get Caller-ID using NoOp()?

My default context configuration.

[default]
exten => s,1,Wait(5)
exten => s,2,Answer(5)
exten => s,3,NoOp(${CALLERID})
exten => s,4,NoOp(${CALLERIDNUMBER})
exten => s,5,Dial(SIP/804,45)
;exten => s,n,Background(fpm-calm-river)
;exten => s,4,WaitExten()
exten => s,6,Hangup

Regards,
Balgaa

How can I to make call between different context SIP, Zap channel subscriber?

I tried put each FXO channel in zapata.conf into different context, but when I make call line connected to FXO port it automatically goes into default context.

Don’t route call into context described in extensions.conf.

I don’t know why this happen.

My zapata.conf

context=lawyer
;#include /etc/asterisk/zapata-channels.conf
context=lawyer
; Span 3: WCTDM/1 “Wildcard TDM400P REV E/F Board 2”
;;; line="5 WCTDM/1/0"
signalling=fxo_ks
;callerid=“Channel 5” <6005>
mailbox=6005
group=1
channel => 5
callerid=
mailbox=

context=lawyer
;;; line="6 WCTDM/1/1"
signalling=fxo_ks
;callerid=“Channel 6” <6006>
mailbox=6006
group=1
channel => 6
callerid=
mailbox=

context=default
;;; line="7 WCTDM/1/2"
signalling=fxo_ks
;callerid=“Channel 7” <6007>
mailbox=6007
group=1
channel => 7
callerid=
mailbox=

context=default
;;; line="8 WCTDM/1/3"
signalling=fxo_ks
;callerid=“Channel 8” <6008>
mailbox=6008
group=1
channel => 8
callerid=
mailbox=

context=default
; Span 2: WCTDM/0 “Wildcard TDM400P REV I Board 1”
;;; line="1 WCTDM/0/0"
signalling=fxs_ks
callerid=asreceived
group=0
channel => 1

context=default
;;; line="2 WCTDM/0/1"
signalling=fxs_ks
callerid=asreceived
group=0
channel => 2

context=default
;;; line="3 WCTDM/0/2"
signalling=fxs_ks
callerid=asreceived
group=0
channel => 3

context=default
;;; line="4 WCTDM/0/3"
signalling=fxs_ks
callerid=asreceived
group=0
channel => 4

pbx:/etc/asterisk#

extensions.conf:

[lawyer]
exten => s,1,Wait(5)
exten => s,2,Answer(5)
exten => s,3,NoOp(${CALLERID})
exten => s,4,NoOp(${CALLERIDNUMBER})
exten => s,5,Dial(SIP/905,45)
;exten => s,n,Background(fpm-calm-river)
;exten => s,4,WaitExten()
exten => s,6,Hangup

exten => _1xx,1,Dial(Zap/1/${EXTEN},45)
exten => _1xxx,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXX,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXXX,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXXXX,1,Dial(Zap/1/${EXTEN},45)

exten => _001.,1,Dial(H323/${EXTEN})
exten => _005.,1,Dial(H323/${EXTEN})

exten => 6005,1,Dial(Zap/5,45)
exten => 6006,1,Dial(Zap/6,45)
exten => 6007,1,Dial(Zap/7,45)
exten => 6008,1,Dial(Zap/8,45)
;[default]
;
; By default we include the demo. In a production system, you
; probably don’t want to have the demo there.
;
;include => demo
exten => s,1,Wait(5)
exten => s,2,Answer(5)
exten => s,3,NoOp(${CALLERID})
exten => s,4,NoOp(${CALLERIDNUMBER})
exten => s,5,Dial(SIP/804,45)
;exten => s,n,Background(fpm-calm-river)
;exten => s,4,WaitExten()
exten => s,6,Hangup

; used to record prompts
exten => 205,1,Wait(2)
exten => 205,2,Record(/tmp/greetings:alaw)
exten => 205,3,Wait(2)
exten => 205,4,Playback(/tmp/greetings)
exten => 205,5,Wait(2)
exten => 205,6,Hangup

exten => 111,1,Dial(CONSOLE/dsp)
exten => 111,2,Hangup

;Test database query application
;exten => 1188,1,Playback(1188)
;exten => 1188,2,Playback(status)

exten => 802,1,Dial(SIP/${EXTEN},3600,t)
exten => 903,1,Dial(SIP/${EXTEN},3600,t)
exten => 905,1,Dial(SIP/${EXTEN},3600,t)
exten => 804,1,Dial(SIP/${EXTEN},3600,t)
exten => 801,1,Dial(SIP/${EXTEN},3600,t)
exten => _001.,1,Dial(H323/${EXTEN})
exten => _005.,1,Dial(H323/${EXTEN})

exten => 1500,1,VoicemailMain(s${EXTEN}@local)
exten => 1500,2,Hangup

;exten => 600,1,Answer
;exten => 600,2,MusicOnHold()
exten => _1xx,1,Dial(Zap/1/${EXTEN},45)
exten => _1xxx,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXX,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXXX,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXXXX,1,Dial(Zap/1/${EXTEN},45)

exten => _5555.,1,Dial(H323/${EXTEN})
exten => _1111.,1,Dial(H323/${EXTEN})

exten => 6005,1,Dial(Zap/5,45)
exten => 6006,1,Dial(Zap/6,45)
exten => 6007,1,Dial(Zap/7,45)
exten => 6008,1,Dial(Zap/8,45)

[tower]
exten => s,1,Wait(5)
exten => s,2,Answer(5)
exten => s,3,NoOp(${CALLERID})
exten => s,4,NoOp(${CALLERIDNUMBER})
exten => s,5,Dial(SIP/905,45)
;exten => s,n,Background(fpm-calm-river)
;exten => s,4,WaitExten()
exten => s,6,Hangup

exten => _1xx,1,Dial(Zap/1/${EXTEN},45)
exten => _1xxx,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXX,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXXX,1,Dial(Zap/1/${EXTEN},45)
exten => _XXXXXXXX,1,Dial(Zap/1/${EXTEN},45)

exten => _001.,1,Dial(H323/${EXTEN})
exten => _005.,1,Dial(H323/${EXTEN})

exten => 6005,1,Dial(Zap/5,45)
exten => 6006,1,Dial(Zap/6,45)
exten => 6007,1,Dial(Zap/7,45)
exten => 6008,1,Dial(Zap/8,45)

Regards,
Balgaa

Sorry, I got work inbound, outbound routing for FXS, FXO ports.

I saw Asterisk configuration is like that.

Actual FXO module configured as FXS
Actual FXS module configured as FXO

I want to know more about Caller-ID problem

Thanks,
Balgaa