First time here? Check out the FAQ!

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

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

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'

спросил Jun 20 '19

cooller51190 Gravatar cooller51190
1 10 2 6

обновил Jun 26 '19

Comments

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

Out (Jun 20 '19)edit

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

zzuz (Jun 20 '19)edit

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

cooller51190 (Jun 20 '19)edit

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

cooller51190 (Jun 21 '19)edit

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

Zavr2008 (Jun 21 '19)edit

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

cooller51190 (Jun 21 '19)edit

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

Zavr2008 (Jun 21 '19)edit

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

cooller51190 (Jun 24 '19)edit

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

cooller51190 (Jun 25 '19)edit

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

zzuz (Jun 25 '19)edit

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

cooller51190 (Jun 26 '19)edit

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

cooller51190 (Jun 26 '19)edit

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

cooller51190 (Jun 26 '19)edit

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

zzuz (Jun 26 '19)edit

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

cooller51190 (Jun 26 '19)edit

4 Ответа

1

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

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

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

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

ответил Jun 20 '19

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

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

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

ответил Jun 21 '19

cooller51190 Gravatar cooller51190
1 10 2 6
0

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

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

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

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

ответил Jun 20 '19

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

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

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

ответил Sep 15 '19

awsswa Gravatar awsswa flag of Russian Federation
685 5 2 9

обновил Sep 15 '19

Ваш ответ

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 ленту новостей

Статистика

Задан: Jun 20 '19

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

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

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

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