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

Как построить диалплан для звонков по разным транкам

Newbies/FAQ Forum 14 сообщений 12.12.2010 13:18 - 28.12.2010 08:57
#1 12.12.2010 13:18

Как построить диалплан для звонков по разным транкам


Доброго дня!

Есть задача:

Есть Asterisk 1.6.
Заведены два sip транка (SIP_1 и SIP_2). Есть 10 экстеншенов. Как заставить 5 экстеншенов звонить и получать звонки только с транка SIP_1, а все остальные пользуются SIP_2.

Заранее спасибо за помощь.
#2 12.12.2010 16:11

контексты им нужно разные сделать.
#3 14.12.2010 12:08

У меня хуже... У меня два транка. Разных. Разные провайдеры и они даже "разнонациональные" [один US, второй UK]
Так вот... Входящий звонок на US почему-то хватает UK-ный SIP. Sad T.e. DID нормально определяет как US-номер, но проходит по каналу UK-ного транка.
Кроме того, disconnect со стороны Asterisk'а не дисконнектит звонящего [что и понятно - канал-то неправильный]
Просто хз, что за фигня Sad И где её искать...
Может кто подскажет?

P.S. Если надо будет - выложу конфиги и логи звонков...

_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
#4 15.12.2010 20:34

adt2k wrote:
контексты им нужно разные сделать.


Сделал я разные контексты, а результат нулевой. Работает только в том случае если 1 транк выключить. Проблема думаю в правилах исходящего диалплана. Подскажите: Как в исходящей маршрутизации явно указать из какого контекста ждать набора?
#5 16.12.2010 03:41

ну хотя бы нужно показать где проблема.
настройки транков и номерной план в покажите. (адреса и пароли можно комментировать)
#6 16.12.2010 05:59

Oxana wrote:
...Входящий звонок на US почему-то хватает UK-ный SIP. Sad T.e. DID нормально определяет как US-номер, но проходит по каналу UK-ного транка.


диалплан покажи

у тебя что-то типа этого сделано?
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()
#7 26.12.2010 15:46

Нет, контекст у меня один для них. Но я пробовала и разделять контексты.
Всё равно получается первая ж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

_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
#8 27.12.2010 07:44

Oxana wrote:
У меня хуже... У меня два транка. Разных. Разные провайдеры и они даже "разнонациональные" [один US, второй UK]


а в sip_additional.conf [freePBX] одинаковые провайдеры написаны
#9 27.12.2010 08:27

Провайдеры одинаковые - аккаунты разные. A чё? о_О
_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
#10 27.12.2010 08:34

ничего Smile просто до этого вы написали что провайдеры разные и даже разнонациональные, но это не важно.

Покажите пожалуйста диалплан - входящих звонков, с исходящими я понял у вас проблем нет.
#11 27.12.2010 09:10

А с какого момента dialplan? А то он там по разным контекстам скачет, да еще и freePBX их множит (Оккама нa них нету!)
Я уже приводила самую первую строчку, которая появляется в CLI - она уже "кривая" Sad
Или лезть в логи?
[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 куда он до этого ходит - я не совсем в курсе Sad (free[мать_его]PBX)...

_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
#12 27.12.2010 16:35

Ща сделала update на freePBX. Там в Inbound Routes появился вконце dropDown и в нём есть теперь транки. Confused
Т.е. мнe надо развести входящие паттернами по разным транкам? A если мне надо, чтобы по одному транку шли на Queue, а по другому нa RingGroup? Чё-то йa не впиливаю... Sad

Added after 8 minutes:

Фигня! Нe работает. Sad На транки не разводится. Всё равно SIP UK-шный.
Зато вроде бы поняла, почему хватает UK-шный транк - он в этом дропДауне первый Smile

_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"
#13 27.12.2010 18:09

А FreePbx - это обязательно?
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
#14 28.12.2010 08:57

Нe знаю, но какой-то Web Interface нужен. Хотя я уже и не знаю - я б всё ручками бы в конце концов настроила, зато точно знаешь хоть что куда и как...

P.S. Вроде шеф нарыл вчера https://issues.asterisk.org/view.php?id=10151

_________________
А по клямсам? За некузявость?
Людмила Петрушевская. "Лингвистические сказочки"