AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Маршрутизация с FXO без DID

Asterisk GUI 3 сообщений 30.08.2010 09:35 - 19.09.2010 14:44
#1 30.08.2010 09:35

Маршрутизация с FXO без DID


Доброго времени суток. Ситуация такая - есть 8 линий FXO, подключенных к станции. С исходящими проблем нет - все звонит, как надо. Есть проблема с входящей маршрутизацией - каждый канал описан, ему присвоен DID, который должен быть, но при входящем звонке маршрут не обрабатывается, ибо по FXO не приходит DID.
Во FreePBX настроены транки на каждый канал DAHDI.
Как мне сделать маршрутизацию с конкретного dahdi канала на конкретный экстеншн? Спасибо.
Конфиг chan_dahdi.conf:
; Auto-generated by /usr/sbin/hardware_detector
[trunkgroups]

[channels]
context=from-pstn
signalling=fxs_ks
rxwink=300 ; Atlas seems to use long (250ms) winks
usecallerid=yes
hidecallerid=no
callwaiting=yes
usecallingpres=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
canpark=yes
cancallforward=yes
callreturn=yes
echocancel=yes
echocancelwhenbridged=no
faxdetect=incoming
echotraining=800
rxgain=0.0
txgain=0.0
callgroup=1
pickupgroup=1
pulsdial=yes
;Uncomment these lines if you have problems with the disconection of your analog lines
busydetect=yes
busycount=7


immediate=no

#include dahdi-channels.conf
#include chan_dahdi_additional.conf

dahdi-channels.conf

; Autogenerated by /usr/sbin/dahdi_genconf on Mon Aug 23 21:02:35 2010
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCTDM/0 "Wildcard TDM800P Board 1" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
callerid=
group=
pulse=yes
context=default

;;; line="2 WCTDM/0/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
callerid=
group=
pulse=yes
context=default

;;; line="3 WCTDM/0/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 3
callerid=
group=
pulse=yes
context=default

;;; line="4 WCTDM/0/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
callerid=
group=
pulse=yes
context=default

;;; line="5 WCTDM/0/4 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 5
callerid=
group=
pulse=yes
context=default

;;; line="6 WCTDM/0/5 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 6
callerid=
group=
pulse=yes
context=default

;;; line="7 WCTDM/0/6 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 7
callerid=
group=
pulse=yes
context=default

;;; line="8 WCTDM/0/7 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 8
callerid=
group=
pulse=yes
context=default


; Span 2: WCTDM/1 "Wildcard TDM800P Board 2"
;;; line="9 WCTDM/1/0 FXOKS"
signalling=fxo_ks
callerid="Channel 9"
mailbox=4009
group=5
context=from-internal
channel => 9
callerid=
mailbox=
group=
context=default

;;; line="10 WCTDM/1/1 FXOKS"
signalling=fxo_ks
callerid="Channel 10"
mailbox=4010
group=5
context=from-internal
channel => 10
callerid=
mailbox=
group=
context=default

;;; line="11 WCTDM/1/2 FXOKS"
signalling=fxo_ks
callerid="Channel 11"
mailbox=4011
group=5
context=from-internal
channel => 11
callerid=
mailbox=
group=
context=default

;;; line="12 WCTDM/1/3 FXOKS"
signalling=fxo_ks
callerid="Channel 12"
mailbox=4012
group=5
context=from-internal
channel => 12
callerid=
mailbox=
group=
context=default

;;; line="13 WCTDM/1/4 FXOKS"
signalling=fxo_ks
callerid="Channel 13"
mailbox=4013
group=5
context=from-internal
channel => 13
callerid=
mailbox=
group=
context=default

;;; line="14 WCTDM/1/5 FXOKS"
signalling=fxo_ks
callerid="Channel 14"
mailbox=4014
group=5
context=from-internal
channel => 14
callerid=
mailbox=
group=
context=default

;;; line="15 WCTDM/1/6 FXOKS"
signalling=fxo_ks
callerid="Channel 15"
mailbox=4015
group=5
context=from-internal
channel => 15
callerid=
mailbox=
group=
context=default

;;; line="16 WCTDM/1/7 FXOKS"
signalling=fxo_ks
callerid="Channel 16"
mailbox=4016
group=5
context=from-internal
channel => 16
callerid=
mailbox=
group=
context=default


/etc/dahdi/system.conf

; Autogenerated by /usr/sbin/dahdi_genconf on Mon Aug 23 21:02:35 2010
; If you edit this file and execute /usr/sbin/dahdi_genconf again,
; your manual changes will be LOST.
; Dahdi Channels Configurations (chan_dahdi.conf)
;
; This is not intended to be a complete chan_dahdi.conf. Rather, it is intended
; to be #include-d by /etc/chan_dahdi.conf that will include the global settings
;

; Span 1: WCTDM/0 "Wildcard TDM800P Board 1" (MASTER)
;;; line="1 WCTDM/0/0 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 1
callerid=
group=
pulse=yes
context=default

;;; line="2 WCTDM/0/1 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 2
callerid=
group=
pulse=yes
context=default

;;; line="3 WCTDM/0/2 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 3
callerid=
group=
pulse=yes
context=default

;;; line="4 WCTDM/0/3 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 4
callerid=
group=
pulse=yes
context=default

;;; line="5 WCTDM/0/4 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 5
callerid=
group=
pulse=yes
context=default

;;; line="6 WCTDM/0/5 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 6
callerid=
group=
pulse=yes
context=default

;;; line="7 WCTDM/0/6 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 7
callerid=
group=
pulse=yes
context=default

;;; line="8 WCTDM/0/7 FXSKS"
signalling=fxs_ks
callerid=asreceived
group=0
context=from-pstn
channel => 8
callerid=
group=
pulse=yes
context=default


; Span 2: WCTDM/1 "Wildcard TDM800P Board 2"
;;; line="9 WCTDM/1/0 FXOKS"
signalling=fxo_ks
callerid="Channel 9"
mailbox=4009
group=5
context=from-internal
channel => 9
callerid=
mailbox=
group=
context=default

;;; line="10 WCTDM/1/1 FXOKS"
signalling=fxo_ks
callerid="Channel 10"
mailbox=4010
group=5
context=from-internal
channel => 10
callerid=
mailbox=
group=
context=default

;;; line="11 WCTDM/1/2 FXOKS"
signalling=fxo_ks
callerid="Channel 11"
mailbox=4011
group=5
context=from-internal
channel => 11
callerid=
mailbox=
group=
context=default

;;; line="12 WCTDM/1/3 FXOKS"
signalling=fxo_ks
callerid="Channel 12"
mailbox=4012
group=5
context=from-internal
channel => 12
callerid=
mailbox=
group=
context=default

;;; line="13 WCTDM/1/4 FXOKS"
signalling=fxo_ks
callerid="Channel 13"
mailbox=4013
group=5
context=from-internal
channel => 13
callerid=
mailbox=
group=
context=default

;;; line="14 WCTDM/1/5 FXOKS"
signalling=fxo_ks
callerid="Channel 14"
mailbox=4014
group=5
context=from-internal
channel => 14
callerid=
mailbox=
group=
context=default

;;; line="15 WCTDM/1/6 FXOKS"
signalling=fxo_ks
callerid="Channel 15"
mailbox=4015
group=5
context=from-internal
channel => 15
callerid=
mailbox=
group=
context=default

;;; line="16 WCTDM/1/7 FXOKS"
signalling=fxo_ks
callerid="Channel 16"
mailbox=4016
group=5
context=from-internal
channel => 16
callerid=
mailbox=
group=
context=default
#2 31.08.2010 06:04

Вроде как решение нашел - использование модуля custom context - загоняю каждый канал в свой контекст, далее, создавая его в модуле, запрещаю все и выставляю в Failover Destination нужный мне экстеншн. Но пока не заработало.
#3 19.09.2010 14:44

а какая проблема?
в freepbx:
zap channel DID говоришь номеру канала, что это такой-то DID
получается что-то типа
$ cat extensions_additional.conf | grep 0415
exten => s,1,Noop(Entering macro-from-zaptel-1 with DID = ${DID} and setting to: 0415)
exten => s,n,Set(__FROM_DID=0415)
exten => s,n,Goto(from-trunk,0415,1)

дальше inbound route все, что пришло с таким-то DID отправлять туда-то (группа/экстеншн или что-то еще)