Приветствую! Есть в хозяйстве Астериск 1.6.3 с Elastix 2.0.0. И была поставлена переадресация на мобильные номера сотрудников, если не бралась трубка у софтфона. Как-то так:
exten => 101,1,Dial(SIP/101,10,T)
exten => 101,2,Dial(SIP/Trunkname/номермобильника)
При звонке с внутреннего номера переадресация идет:
-- Executing [s@macro-dialout-trunk:19] Dial("Local/номермобильного@from-internal-27bb;2", "SIP/Trunkname/номермобильного,300,") in new stack
netsock.c: == Using SIP RTP TOS bits 184
netsock.c: == Using SIP RTP CoS mark 5
app_dial.c: -- Called Trunkname/номермобильного
app_dial.c: -- SIP/Trunkname-0000002f is ringing
app_dial.c: -- SIP/Trunkname-0000002f is making progress passing it to Local/номермобильного@from-internal-27bb;2
app_dial.c: -- Local/номермобильного@from-internal-27bb;1 is ringing
app_dial.c: -- Local/номермобильного@from-internal-27bb;1 is making progress passing it to SIP/107-0000002d
А с внешнего номера вот так:
-- Called 100
-- SIP/100-00000031 is ringing
-- Nobody picked up in 10000 ms
-- Auto fallthrough, channel 'SIP/Trunkname-00000030' status is 'NOANSWER'
Что поломалось? Куда копать? И вторичный вопрос: что приоритетнее в плане перевода звонков - extensions.conf или FollowMe в Elastix'е?
В итоге проблема решилась. Оказалось провайдер требует безусловного сообщения ему CID'а. Вариант решения такой:
exten => 100,1,Dial(SIP/100,10,T)
exten => 100,n,NoOP(${CALLERID(all)})
exten => 100,n,NoOP(${CALLERID(ani)})
exten => 100,n,NoOP(${CALLERID(num)})
exten => 100,n,NoOP(${CALLERID(name)})
exten => 100,n,Set(CALLERID(all)=%номер_выданный_провайдером%)
exten => 100,n,Set(CALLERID(ani)=%номер_выданный_провайдером%)
exten => 100,n,Set(CALLERID(num)=%номер_выданный_провайдером%)
exten => 100,n,Set(CALLERID(name)=%номер_выданный_провайдером%)
exten => 100,n,NoOP(${CALLERID(all)})
exten => 100,n,NoOP(${CALLERID(ani)})
exten => 100,n,NoOP(${CALLERID(num)})
exten => 100,n,NoOP(${CALLERID(name)})
exten => 100,n,Dial(SIP/Trunkname/%номер_мобильного%)
followme реализовано через extensions в еластиксе. копать в сторону чтения диалплана и мануалов. скорее всегов ы чтото пропустили
http://asterisk-support.ru/question/38386/kak-poniat-chto-proiskhodit-na-asteriske/
Задан: 2013-05-23 16:32:51 +0400
Просмотрен: 1,108 раз
Обновлен: May 24 '13
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
В итоге проблема решилась. Оказалось провайдер требует безусловного сообщения ему CID'а. Вариант решения такой: exten => 100,1,Dial(SIP/100,10,T) exten => 100,n,NoOP(${CALLERID(all)}) exten => 100,n,NoOP(${CALLERID(ani)}) exten => 100,n,NoOP(${CALLERID(num)}) exten => 100,n,NoOP(${CALLERID(name)}) exten => 100,n,Set(CALLERID(all)=%номервыданныйпровайдером%) exten => 100,n,Set(CALLERID(ani)=%номервыданныйпровайдером%) exten => 100,n,Set(CALLERID(num)=%номервыданныйпровайдером%) exten => 100,n,Set(CALLERID(name)=%номервыданныйпровайдером%) exten => 100,n,NoOP(${CALLERID(all)}) exten => 100,n,NoOP(${CALLERID(ani)}) exten => 100,n,NoOP(${CALLERID(num)}) exten => 100,n,NoOP(${CALLERID(name)}) exten => 100,n,Dial(SIP/Trunkname/%номер_мобильного%)
exis_2 ( 2013-05-24 12:56:52 +0400 )редактировать