Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Проблема при передаче АОН входящего звонка при переводе

0

Добрый день. Стоит FreePBX 14.0.5.25. Возникла необходимость реализовать передачу АОН звонящего абонента при переводе звонков между внутренними номерами. Данная функция была реализована ранее на FreePBX 12. После обновления до 14 версии данный код выдает отбой при любом звонке по внутренним номерам. Протокол используется Chan_SIP

[from-trunk]
exten => НОМЕР,1,Set(__CID=${CALLERID(number)})
[from-internal-custom]
exten => _[1-5]XX,1,ExecIf($[ ${LEN(${BLINDTRANSFER})} > 0 ]?Set(TRANSFERUSER=${BLINDTRANSFER}) )
exten => _[1-5]XX,n,ExecIf($[ ${LEN(${TRANSFERERNAME})} > 0 ]?Set(TRANSFERUSER=${TRANSFERERNAME}) )
exten => _[1-5]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(TRANSFERUSER=${CUT(TRANSFERUSER,-,1)}) )
exten => _[1-5]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(TRANSFERUSER=${CUT(TRANSFERUSER,\/,2)}) )
exten => _[1-5]XX,n,ExecIf($[ "foo${TRANSFERUSER}" = "foo" ]?Set(__CID=${CALLERID(number)}) )
exten => _[1-5]XX,n,ExecIf($[ ${LEN(${TRANSFERUSER})} > 0 ]?Set(CALLERID(number)=${CID}-${TRANSFERUSER}) )
exten => _[1-5]XX,n,ExecIf($[ "foo${TRANSFERUSER}" != "foo" ]?Set(CALLERID(name)=${CID}) )
exten => _[1-5]XX,n,Dial(SIP/${EXTEN},,tT)

Перевод звонка с ответом, не слепой перевод.

Ниже ЛОГ ЗВОНКА

-- Executing [h@from-internal:1] Macro("SIP/101-00000135", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/101-00000135", "1?theend") in new stack
-- Goto (macro-hangupcall,s,3)
-- Executing [s@macro-hangupcall:3] ExecIf("SIP/101-00000135", "0?Set(CDR(recordingfile)=)") in new stack
-- Executing [s@macro-hangupcall:4] NoOp("SIP/101-00000135", " monior file= ") in new stack
-- Executing [s@macro-hangupcall:5] AGI("SIP/101-00000135", "attendedtransfer-rec-restart.php,,") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/attendedtransfer-rec-restart.php
-- <SIP/101-00000135>AGI Script attendedtransfer-rec-restart.php completed, returning 0
-- Executing [s@macro-hangupcall:6] Hangup("SIP/101-00000135", "") in new stack
== Spawn extension (macro-hangupcall, s, 6) exited non-zero on 'SIP/101-00000135' in macro 'hangupcall'
== Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/101-00000135'
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
   > 0x7f6910085ed0 -- Strict RTP learning after remote address set to: 192.168.0.128:40044
-- Executing [336@from-internal:1] ExecIf("SIP/101-00000137", "0?Set(TRANSFERUSER=) ") in new stack
-- Executing [336@from-internal:2] ExecIf("SIP/101-00000137", "0?Set(TRANSFERUSER=) ") in new stack
-- Executing [336@from-internal:3] ExecIf("SIP/101-00000137", "0?Set(TRANSFERUSER=) ") in new stack
-- Executing [336@from-internal:4] ExecIf("SIP/101-00000137", "0?Set(TRANSFERUSER=) ") in new stack
-- Executing [336@from-internal:5] ExecIf("SIP/101-00000137", "1?Set(__CID=101) ") in new stack
-- Executing [336@from-internal:6] ExecIf("SIP/101-00000137", "0?Set(CALLERID(number)=101) ") in new stack
-- Executing [336@from-internal:7] ExecIf("SIP/101-00000137", "0?Set(CALLERID(name)=101) ") in new stack
-- Executing [336@from-internal:8] Dial("SIP/101-00000137", "SIP/336,,tT") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/336
-- SIP/336-00000138 is ringing
-- SIP/336-00000138 is ringing
-- SIP/336-00000138 is ringing
-- Got SIP response 486 "Busy Here" back from 192.168.0.128:51892
-- SIP/336-00000138 is busy
== Everyone is busy/congested at this time (1:1/0/0)
-- Executing [336@from-internal:9] Answer("SIP/101-00000137", "") in new stack
-- Auto fallthrough, channel 'SIP/101-00000137' status is 'BUSY'
удалить закрыть спам изменить тег редактировать

спросил 2019-06-20 15:35:01 +0400

cooller51190 Gravatar cooller51190
1 10 2 6

обновил 2019-06-26 12:50:51 +0400

Comments

и где лог/дебаг?

Out ( 2019-06-20 15:44:37 +0400 )редактировать

Зато asterisk новее. Классно же.

zzuz ( 2019-06-20 17:17:54 +0400 )редактировать

Добавил лог звонка, Переделал на from-internal-custom - звонки заработали между внутренними, завтра утром проверим будет ли передаваться аон. Хотелось бы узнать почему в текущем контексте перестало работать после обновления

cooller51190 ( 2019-06-21 00:00:28 +0400 )редактировать

АОН не передается при переводе через *2

cooller51190 ( 2019-06-21 11:47:35 +0400 )редактировать

пометьте мой ответ правильным. ну и гуглите насчет *2 __TRANSFER_CONTEXT до прояснения)

Zavr2008 ( 2019-06-21 12:43:58 +0400 )редактировать

Если сейчас реализовать всё как в шапке, то перестает работать фолов ме, но работает передача аона

cooller51190 ( 2019-06-21 16:53:41 +0400 )редактировать

а from-trunk сам зачем трогаем? так тоже делать нельзя.

Zavr2008 ( 2019-06-21 19:29:48 +0400 )редактировать

from-trunk для записи в переменную,

cooller51190 ( 2019-06-24 22:50:48 +0400 )редактировать

Кто знает? Как решить данную проблему?

cooller51190 ( 2019-06-25 11:40:48 +0400 )редактировать

Конечно знаем. Идёте в технический отдел к системному администратору. Даете ему печенек и просите посмотреть логи. Он быстро находит проблему выполнения диалплана , гуглит и говорит , что поправить. Опережая ваше замечание о наличии лога в вашем запросе замечу , что ваш лог не соответствует представленному диалплану . Прочтите лог и диалплан построчно и станет понятно.

zzuz ( 2019-06-25 14:30:59 +0400 )редактировать

Про несоответствие лога знаю, его убрал... Если необходимо могу текущий снять и выложить. Так же знаю, что в контексте перехода на фолов ми у меня нигде нет, но как поправить увы в гугле не нашел. Если кто знает правильный путь, а не торканье носом в ошибки, буду очень благодарен. И вот почему без exten => _[1-5]XX,n,Dial(SIP/${EXTEN},,tT) - в новой версии системы звонки по внутренним номерам не работают, но звонки с города работают корректно, кроме переводов по внутренним - это вот основной вопрос. Так как данный контекст в старых версиях работал великолепно.

cooller51190 ( 2019-06-26 12:23:53 +0400 )редактировать

Лог обновлен и соответствует представленному диалпдану. Прошу помощи в решение проблемы. Звонок сейчас идёт с 101 на 336 и должен уходить на мобильный по Follow ME

cooller51190 ( 2019-06-26 12:52:15 +0400 )редактировать

Если вместо exten => _[1-5]XX,n,Dial(SIP/${EXTEN},,tT) поставить exten => _[1-5]XX,n,Goto(from-internal-additional,${EXTEN},1) - то звонки работают, FollowME работает, а вот передача аона нет

cooller51190 ( 2019-06-26 12:58:38 +0400 )редактировать

Во-первых, нет на вашем сервере такого слова , как "аон" , есть слово "callerid" - номер звонящего. Во-вторых , Вы сами делаете Dial(SIP/${EXTEN},,tT) , что и отображается в логе. В-третьих, если нужно настроить работу followme , то и логи нужно смотреть выполнения вызова при followme.

zzuz ( 2019-06-26 14:59:20 +0400 )редактировать

Решил вопрос удалением строки exten => _[1-5]XX,n,Dial(SIP/${EXTEN},,tT) и добавлением exten => _[1-5]XX,n,Goto(from-internal-additional,${EXTEN},1),$(CID). На телефонах заработало, но если подключаем 1С Рарус Софтфон, все перестаёт работать, кто знает как он может влиять? Номер передается только после снятия трубки в софтфон, а необходимо сразу.

cooller51190 ( 2019-06-26 15:22:07 +0400 )редактировать

4 Ответа

0

LTS версия - 13.* собственно она работает на большинстве production серверов в данный момент.

Если вам не надо какие-то фишки которых нет в 13.* - откатитесь на LTS

А вообще надо смотреть в сторону sendrpid/trustrpid.

ссылка удалить спам редактировать

ответил 2019-06-20 19:49:03 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/
1

Во-первых у Вас скорее всего Asterisk 13, просто GUI FreePBX 14)

Во-вторых - зачем курочить прямо [from-internal] - это точка основная исходящей маршрутизации во FreePBX. Там есть from-internal-custom , его и курочить.

Также для таких случаев удобно пиры регать в свой кастом контекст, и из него уже когда надо - либо в from-trunk, либо в from-internal.

ссылка удалить спам редактировать

ответил 2019-06-20 22:32:48 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2886 11 9 40
http://mh.otx.ru/
0

АОН не передается при переводе через *2

ссылка удалить спам редактировать

ответил 2019-06-21 12:34:52 +0400

cooller51190 Gravatar cooller51190
1 10 2 6
0

Доработайте до себя https://awsswa.livejournal.com/35179.html

https://forum.asterisk.ru/viewtopic.php?f=4&t=10030
ссылка удалить спам редактировать

ответил 2019-09-15 14:00:55 +0400

awsswa Gravatar awsswa flag of Russian Federation
685 5 2 9

обновил 2019-09-15 14:02:31 +0400

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2019-06-20 15:35:01 +0400

Просмотрен: 1,140 раз

Обновлен: Sep 15 '19

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.