Должен ли работать подобный диалплан? [Плохо, что с макросами, но решено]

Для начинающих.
Всем начинающим - сюда.

Модераторы: Admins, Модераторы

Ответить
Nickolay
Сообщения: 2
Зарегистрирован: 20 сен 2017, 17:51

Должен ли работать подобный диалплан? [Плохо, что с макросами, но решено]

Сообщение Nickolay » 05 окт 2017, 11:42

Всем доброго времени суток.

Код: Выделить всё

exten => _[1-7]XXXXXX,1,Set(CALLERID(num)=5555555)
exten => _[1-7]XXXXXX/101,n,Set(CALLERID(num)=4444444)
exten => _[1-7]XXXXXX/_11[01],n,Set(CALLERID(num)=4444444)
exten => _[1-7]XXXXXX/5555555,n,Dial(SIP/7812${EXTEN}@uplink_1,60,t)
exten => _[1-7]XXXXXX/4444444,n,Dial(SIP/${EXTEN}@uplink_2,60,t)
С точки зрения логики должно работать, но... Не работает. Возможно, что-то не до конца еще понял.

Понятно, что можно создать кучу контекстов. Но, как мне кажется, можно все решить компактным способом.
Последний раз редактировалось Nickolay 05 окт 2017, 18:52, всего редактировалось 1 раз.

xelas
admin
Сообщения: 1085
Зарегистрирован: 05 мар 2007, 11:21

Сообщение xelas » 05 окт 2017, 12:49

Недолжно. Категорически не рекомендуется смешивать.
Разнесите.

Код: Выделить всё

exten => _[1-7]XXXXXX,1,Set(CALLERID(num)=5555555)
same => n,действие
exten => _[1-7]XXXXXX/101,1,Set(CALLERID(num)=4444444)
same => n,действие
exten => _[1-7]XXXXXX/_11[01],1,Set(CALLERID(num)=4444444)
same => n,действие
https://wiki.asterisk.org/wiki/display/ ... onCallerID

Nickolay
Сообщения: 2
Зарегистрирован: 20 сен 2017, 17:51

Сообщение Nickolay » 05 окт 2017, 18:51

[url=http://asteriskforum.ru/viewtopic.php?p=85230#85230][img]http://asteriskforum.ru/images/quotebackarrow.gif[/img][/url] xelas @ Чт Окт 05, 2017 14:49 писал(а):Недолжно. Категорически не рекомендуется смешивать.
Разнесите.
Спасибо. Этого еще не читал.

Причем, как я понял, не просто передаст, а "МОЖЕТ".

"can immediately throw the call to another handler"

Т.е., еще и не однозначно. Большое спасибо, очень тонкий вопрос.

Added after 3 hours 3 minutes:

К сожалению, так тоже не прокатывает, улетает сразу в экстеншен, где нет жесткого CID.

Жаль.

Макросами это делается на раз-два, но их, вроде, выпилить обещают. :*(

Печалька. Придется придумывать, как это САБами разруливать. Они такие гемморные.

Added after 2 hours 48 minutes:

В итоге, сделал так, хоть Макросы и деприкейтед (Где-то читал, что их юзать уже нельзя), но иначе - не сделать:

Код: Выделить всё

[macro-uplink]
exten => s,1,Set(CALLERID(num)=${ARG2})
exten => s,n,Dial(SIP/${ARG1}@${ARG3},40,t)
exten => s,n,Busy

[external-local]
exten => _[1-7,9]XXXXXX/101,1,Macro(uplink,${EXTEN},4444444,uplink_2)
exten => _[1-7,9]XXXXXX/_11[01],1,Macro(uplink,${EXTEN},4444444,uplink_2)
exten => _[1-7,9]XXXXXX,1,Macro(uplink,7812${EXTEN},5555555,uplink_1)
exten => _0XX,1,Macro(uplink,${EXTEN},4444444,uplink_2)
exten => _8812[1-7,9]XXXXXX/101,1,Macro(uplink,${EXTEN:4},4444444,uplink_2)
exten => _8812[1-7,9]XXXXXX/_11[01],1,Macro(uplink,${EXTEN:4},4444444,uplink_2)
exten => _8812[1-7,9]XXXXXX,1,Macro(uplink,7${EXTEN:1},5555555,uplink_1)
exten => _88120XX,1,Macro(uplink,${EXTEN:4},4444444,uplink_2)
exten => _+7812[1-7,9]XXXXXX/101,1,Macro(uplink,${EXTEN:5},4444444,uplink_2)
exten => _+7812[1-7,9]XXXXXX/_11[01],1,Macro(uplink,${EXTEN:5},4444444,uplink_2)
exten => _+7812[1-7,9]XXXXXX,1,Macro(uplink,${EXTEN:1},5555555,uplink_1)
exten => _+78120XX,1,Macro(uplink,${EXTEN:5},4444444,uplink_2)
Для других направлений не пишу, чтоб не загромождать. Там - аналогично.

Жаль, что компактно не получилось. :cry:

Аватара пользователя
Zavr2008
Сообщения: 532
Зарегистрирован: 19 июл 2013, 00:12
Контактная информация:

Сообщение Zavr2008 » 12 окт 2017, 13:12

Достаточно на шаге 1 сделать Gosub, в котором и разрулить и подставить CallerID и далее вернуться в свой контекст для Dial.
http://mh.otx.ru SIP/E1 шлюзы Alvis, Добавь E1 к Asterisk, Проапгрейди Заказчику TDA/LDK!
спец цены

Ответить