Asterisk Version: 13.14.0
FreePBX 13.0.190.19
Поставлен готовый дистрибутив из образа с официального сайта.
Всё настроил через web-интерфейс.
4 транка от провайдера (4 городских номера), 10 внутренних номеров.
Транки freepbx описал вот так:
(/etc/asterisk/sip_additional.conf)
[734448]
disallow=all
host=voip.domru.ru
type=friend
context=from-trunk
username=734448
secret=ХХХХХХХХХХХ
fromuser=74822734448
fromdomain=voip.domru.ru
registertimeout=600
qualify=yes
insecure=invite
dtmfmode=inband
allow=alaw
allow=ulaw
[74822734448]
secret=ХХХХХХХХХХХ
type=user
context=from-trunk
[74822782028]
secret=ХХХХХХХХХХХ
type=user
context=from-trunk
[74822787885]
secret=ХХХХХХХХХХХ
type=user
context=from-trunk
[74822788555]
type=user
secret=ХХХХХХХХХХХ
context=from-trunk
[782028]
disallow=all
host=voip.domru.ru
type=friend
context=from-trunk
username=782028
secret=ХХХХХХХХХХХ
fromuser=74822782028
fromdomain=voip.domru.ru
registertimeout=600
qualify=yes
insecure=invite
dtmfmode=inband
allow=alaw
allow=ulaw
[787885]
disallow=all
host=voip.domru.ru
type=friend
context=from-trunk
username=787885
secret=ХХХХХХХХХХХ
fromuser=74822787885
fromdomain=voip.domru.ru
registertimeout=600
qualify=yes
insecure=invite
dtmfmode=inband
allow=alaw
allow=ulaw
[788555]
disallow=all
host=voip.domru.ru
type=friend
context=from-trunk
username=788555
secret=XXXXXXXXXX
fromuser=74822788555
fromdomain=voip.domru.ru
registertimeout=600
qualify=yes
insecure=invite
dtmfmode=inband
allow=alaw
allow=ulaw
диалплан в /etc/asterisk/extensions_additional.conf:
[ext-did-0002]
include => ext-did-0002-custom
exten => fax,1,Set(__DIRECTION=INBOUND)
exten => fax,n,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => 74822734448,1,Set(__DIRECTION=INBOUND)
exten => 74822734448,n,Set(CHANNEL(language)=ru)
exten => 74822734448,n,Gosub(sub-record-check,s,1(in,${EXTEN},no))
exten => 74822734448,n,Gosub(app-blacklist-check,s,1())
exten => 74822734448,n,Set(__FROM_DID=${EXTEN})
exten => 74822734448,n,Set(CDR(did)=${FROM_DID})
exten => 74822734448,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 74822734448,n,Set(__MOHCLASS=)
exten => 74822734448,n,Set(__REVERSAL_REJECT=FALSE)
exten => 74822734448,n,GotoIf($["${REVERSAL_REJECT}"!="TRUE"]?post-reverse-charge)
exten => 74822734448,n,GotoIf($["${CHANNEL(reversecharge)}"="1"]?macro-hangupcall)
exten => 74822734448,n(post-reverse-charge),Noop()
exten => 74822734448,n,Set(__CALLINGNAMEPRES_SV=${CALLERID(name-pres)})
exten => 74822734448,n,Set(__CALLINGNUMPRES_SV=${CALLERID(num-pres)})
exten => 74822734448,n,Set(CALLERID(name-pres)=allowed_not_screened)
exten => 74822734448,n,Set(CALLERID(num-pres)=allowed_not_screened)
exten => 74822734448,n(did-cid-hook),Noop(CallerID Entry Point)
exten => 74822734448,n(dest-ext),Goto(app-setcid,2,1)
exten => 74822782028,1,Set(__DIRECTION=INBOUND)
exten => 74822782028,n,Set(CHANNEL(language)=ru)
exten => 74822782028,n,Gosub(sub-record-check,s,1(in,${EXTEN},force))
exten => 74822782028,n,Gosub(app-blacklist-check,s,1())
exten => 74822782028,n,Set(__FROM_DID=${EXTEN})
exten => 74822782028,n,Set(CDR(did)=${FROM_DID})
exten => 74822782028,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 74822782028,n,Set(__MOHCLASS=)
exten => 74822782028,n,Set(__REVERSAL_REJECT=FALSE)
exten => 74822782028,n,GotoIf($["${REVERSAL_REJECT}"!="TRUE"]?post-reverse-charge)
exten => 74822782028,n,GotoIf($["${CHANNEL(reversecharge)}"="1"]?macro-hangupcall)
exten => 74822782028,n(post-reverse-charge),Noop()
exten => 74822782028,n,Set(__CALLINGNAMEPRES_SV=${CALLERID(name-pres)})
exten => 74822782028,n,Set(__CALLINGNUMPRES_SV=${CALLERID(num-pres)})
exten => 74822782028,n,Set(CALLERID(name-pres)=allowed_not_screened)
exten => 74822782028,n,Set(CALLERID(num-pres)=allowed_not_screened)
exten => 74822782028,n(did-cid-hook),Noop(CallerID Entry Point)
exten => 74822782028,n(dest-ext),Goto(app-setcid,2,1)
...
(И ещё две такие же секции с номерами 74822787885 и 74822788555)
Звонки в обе стороны работают нормально, но в консоли asterisk -rvvvvv отображается странное прохождение входящего звонка. Вот этот фрагмент интересует:
("SIP/734448-00000010", "__FROM_DID=74822788555")
Дело в том, что при звонке на городской номер 788555 звонок должен проходить через SIP/788555, а тут отражается SIP/734448 (другой городской номер).
При этом дальнейшая маршрутизация идёт правильно, звонок попадает в нужную очередь и всё работает. Хотя, если бы звонок шёл через SIP/734448, то должен бы был попасть в другую очередь.
Почему так отражается прохождение звонка в консоли? Как сделать, чтобы корректно отображался транк при входящем?