Как построить диалплан для звонков по разным транкам
Есть задача:
Есть Asterisk 1.6.
Заведены два sip транка (SIP_1 и SIP_2). Есть 10 экстеншенов. Как заставить 5 экстеншенов звонить и получать звонки только с транка SIP_1, а все остальные пользуются SIP_2.
Заранее спасибо за помощь.
Так вот... Входящий звонок на US почему-то хватает UK-ный SIP.
Кроме того, disconnect со стороны Asterisk'а не дисконнектит звонящего [что и понятно - канал-то неправильный]
Просто хз, что за фигня
Может кто подскажет?
P.S. Если надо будет - выложу конфиги и логи звонков...
_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
| adt2k wrote: |
| контексты им нужно разные сделать. |
Сделал я разные контексты, а результат нулевой. Работает только в том случае если 1 транк выключить. Проблема думаю в правилах исходящего диалплана. Подскажите: Как в исходящей маршрутизации явно указать из какого контекста ждать набора?
настройки транков и номерной план в покажите. (адреса и пароли можно комментировать)
| Oxana wrote: |
| ...Входящий звонок на US почему-то хватает UK-ный SIP. |
диалплан покажи
у тебя что-то типа этого сделано?
sip.conf
| Code: |
| [genereal] register => usr:pass@prov.uk/UK register => usr:pass@prov.uk/US [UK] type=friend context=from_uk [US] type=friend context=from_us |
extensions.conf
| Code: |
| [from_uk] exten => s,1,Background(enter-number-or-wait) exten => s,n,WaitExten(3) exten => s,n,Dial(local/100@from_uk) exten => _1XX,1,Dial(SIP/${EXTEN}) exten => _1XX,n,HangUp() [from_us] exten => s,1,Background(enter-number-or-wait) exten => s,n,WaitExten(3) exten => s,n,Dial(local/200@from_us) exten => _2XX,1,Dial(SIP/${EXTEN}) exten => _2XX,n,HangUp() |
Всё равно получается первая жe строчка в CLI:
Executing [1***@from-sip-external_UK] NoOp("SIP/44***-08b7a228", "*** UK *** Received incoming SIP connection from unknown peer to 1***") in new stack
1**** - US
44*** - UK
Т.е. звонок с US-номера, а SIP и контекст хватает UK-шный. Причем сразу, еще никакие рулы не сработали, кроме основных.
Причем непонятно, почему именно этот транк - он и в списке транков не первый, и номер у него длиннее и на четверку... Почему нe наоборот? US-ный транк первый - его by default и хватать...
"Ничего не понимаю" (ц)
Added after 2 minutes:
Да, и я уже говорила, отбой с моей стороны не дисконнектит звонящего в этом случае...
Блин...
Added after 4 minutes:
Может это freePBX'ный косяк? Потому как в sip.conf нифига нету, тока в sip_additional.conf, который он типа автоматом запускает...
sip_additional.conf [freePBX]
[trunk_CMUS]
username=1****
type=friend
secret=******
registerattempts=0
port=5061
nat=yes
insecure=port,invite
host=sphone.vopr.vonage.net
fromuser=1******
fromdomain=sphone.vopr.vonage.net
dtmfmode=rfc2833
defaultexpirey=120
context=from-sip-external
canreinvite=yes
auth=md5
allow=all
[trunk_lmuk]
username=44******
type=friend
secret=*******
port=5060
nat=yes
insecure=port,invite
host=sphone.vopr.vonage.net
fromuser=44*******
fromdomain=sphone.vopr.vonage.net
dtmfmode=rfc2833
defaultexpirey=120
context=from-sip-external_UK
canreinvite=yes
auth=md5
allow=all
_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
| Oxana wrote: |
| У меня хуже... У меня два транка. Разных. Разные провайдеры и они даже "разнонациональные" [один US, второй UK] |
а в sip_additional.conf [freePBX] одинаковые провайдеры написаны
_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
Покажите пожалуйста диалплан - входящих звонков, с исходящими я понял у вас проблем нет.
Я уже приводила самую первую строчку, которая появляется в CLI - она уже "кривая"
Или лезть в логи?
[from-sip-external]
; Yes. This is _really_ meant to be _. - I know asterisk whines about it, but I do know what I'm doing. This is correct.
exten => _.,1,NoOp(Received incoming SIP connection from unknown peer to ${EXTEN})
exten => _.,n,Set(DID=${IF($["${EXTEN:1:2}"=""]?s:${EXTEN})})
exten => _.,n,Set(TRUNK=${IF($["${EXTEN:0:2}"="44"]?"UK":"US")})
exten => _.,n,Set(__DIALED_NUM=${SIP_HEADER(TO)})
exten => _.,n,Set(__CALLER_NUM=${CALLERID(num)})
exten => _.,n,Set(__CALLER_NAME=${CALLERID(name)})
exten => _.,n,Set(__MAIN_CH=${CHANNEL})
exten => _.,n,Set(__MAIN_ID=${UNIQUEID})
:
:
и т.д.
Нe знаю, надо ли Вам дальше всю дальнейшую фигатень приводить, потому как уже в этом месте контекст неправильный. Именно этот контекст и указан в профиле транка. A куда он до этого ходит - я не совсем в курсе
_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
Т.е. мнe надо развести входящие паттернами по разным транкам? A если мне надо, чтобы по одному транку шли на Queue, а по другому нa RingGroup? Чё-то йa не впиливаю...
Added after 8 minutes:
Фигня! Нe работает.
Зато вроде бы поняла, почему хватает UK-шный транк - он в этом дропДауне первый
_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
P.S. Вроде шеф нарыл вчера https://issues.asterisk.org/view.php?id=10151
_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"