Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Переадресация внешнего звонка на внешний номер (blind trans)

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модератор: april22

Переадресация внешнего звонка на внешний номер (blind trans)

Сообщение Hanharr » 03 апр 2019, 16:18

Всем Приветствую вас, коллеги.

Подскажите, если совершить звонок внутри офиса с одного номера на другой и на последнем выполнить пере направление звонка на внешний номер, то звонок уходит нормально. Но, если совершить звонок во внутренню сеть и затем его попытаться перенаправить, то звонок просто скидывается. Звонок перенаправляю используя blind transfer.

В логе при этом:

Код: выделить все
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] features.c:     -- Blind transferring SIP/mf_305-0000398b to '7<номер кому хочу отправить звонок>' (context from-internal-xfer) priority 1
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] res_musiconhold.c:     -- Stopped music on hold on SIP/mf_305-0000398b
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] app_macro.c:   == Channel 'SIP/mf_305-0000398b' jumping out of macro 'dial-one'
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] app_macro.c:   == Channel 'SIP/mf_305-0000398b' jumping out of macro 'exten-vm'
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [7<номер кому хочу отправить звонок>@from-internal-xfer:1] Macro("SIP/mf_305-0000398b", "user-callerid,SKIPTTL,") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:1] Set("SIP/mf_305-0000398b", "AMPUSER=7<номер от кого пришел звонок изначально>") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:2] GotoIf("SIP/mf_305-0000398b", "0?report") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:3] ExecIf("SIP/mf_305-0000398b", "0?Set(REALCALLERIDNUM=7<номер от кого пришел звонок изначально>)") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:4] Set("SIP/mf_305-0000398b", "AMPUSER=") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:5] Set("SIP/mf_305-0000398b", "AMPUSERCIDNAME=") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:6] GotoIf("SIP/mf_305-0000398b", "1?report") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-user-callerid,s,10)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:10] GotoIf("SIP/mf_305-0000398b", "1?continue") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-user-callerid,s,19)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:19] Set("SIP/mf_305-0000398b", "CALLERID(number)=7<номер от кого пришел звонок изначально>") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:20] Set("SIP/mf_305-0000398b", "CALLERID(name)=test_phone_(Иванов_Иван_Ива") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:21] NoOp("SIP/mf_305-0000398b", "Using CallerID "test_phone_(Иванов_Иван_Ива" <7<номер от кого пришел звонок изначально>>") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Auto fallthrough, channel 'SIP/mf_305-0000398b' status is 'ANSWER'
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [h@from-internal-xfer:1] Macro("SIP/mf_305-0000398b", "hangupcall") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:1] GotoIf("SIP/mf_305-0000398b", "1?endmixmoncheck") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-hangupcall,s,9)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:9] NoOp("SIP/mf_305-0000398b", "End of MIXMON check") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:10] GotoIf("SIP/mf_305-0000398b", "1?nomeetmemon") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-hangupcall,s,28)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:28] NoOp("SIP/mf_305-0000398b", "End of MEETME check") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:29] GotoIf("SIP/mf_305-0000398b", "1?noautomon") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-hangupcall,s,34)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:34] NoOp("SIP/mf_305-0000398b", "TOUCH_MONITOR_OUTPUT=") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:35] GotoIf("SIP/mf_305-0000398b", "1?noautomon2") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-hangupcall,s,41)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:41] NoOp("SIP/mf_305-0000398b", "MONITOR_FILENAME=") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:42] GotoIf("SIP/mf_305-0000398b", "1?skiprg") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-hangupcall,s,45)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:45] GotoIf("SIP/mf_305-0000398b", "1?skipblkvm") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-hangupcall,s,48)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:48] GotoIf("SIP/mf_305-0000398b", "1?theend") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Goto (macro-hangupcall,s,50)
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:50] AGI("SIP/mf_305-0000398b", "hangup.agi") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] res_agi.c:     -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] res_agi.c:     -- <SIP/mf_305-0000398b>AGI Script hangup.agi completed, returning 0
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-hangupcall:51] Hangup("SIP/mf_305-0000398b", "") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] app_macro.c:   == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/mf_305-0000398b' in macro 'hangupcall'
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:   == Spawn extension (from-internal-xfer, h, 1) exited non-zero on 'SIP/mf_305-0000398b'


Подскажите, куда копать?
Hanharr
 
Сообщений: 5
Зарегистрирован: 03 апр 2019, 16:04

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение ded » 03 апр 2019, 17:05

Копать не надо, читайте лог:
channel 'SIP/mf_305-0000398b' (из которого прибежал внешний вызов) имеет status is 'ANSWER', и не может быть использован для выполнения исходящего вызова.
ded
 
Сообщений: 13759
Зарегистрирован: 26 авг 2010, 19:00

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение Hanharr » 03 апр 2019, 17:11

ded писал(а):channel 'SIP/mf_305-0000398b' (из которого прибежал внешний вызов) имеет status is 'ANSWER'


И как быть? Реально вообще настроить подобную "хотелку"?
Hanharr
 
Сообщений: 5
Зарегистрирован: 03 апр 2019, 16:04

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение ded » 03 апр 2019, 18:07

Представьте упрощённый вариант: офисную АТС, 5 абонентов и 1 аналоговую городскую линию к ней.
Один абонент набрал другого, и тот сделал трансфер на внешний номер, кому-то на мобильный, он ушёл через городскую линию, так?
Пришёл звонок из города, вы его трансферите назад в город. Как это сделать, если всего одна одноканальная линия?

Познайте сущность многоканальности!
ded
 
Сообщений: 13759
Зарегистрирован: 26 авг 2010, 19:00

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение Hanharr » 03 апр 2019, 18:28

Я понимаю, что нужно отправить звонок другим транком. Но, не совсем понимаю как. К тому же, по идее нет проблемы отправить звонок тем же транком, каким он пришел (мы арендуем несколько исходящих линий для каждого транка.)
Hanharr
 
Сообщений: 5
Зарегистрирован: 03 апр 2019, 16:04

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение ded » 03 апр 2019, 18:57

Hanharr писал(а): по идее нет проблемы отправить звонок тем же транком, каким он пришел (мы арендуем несколько исходящих линий для каждого транка.)

А проверяли?
А можете проверить?
Создать один звонок наружу, не заканчивая -
создвть ещё один звонок наружу, не заканчивая -
создвть ещё один звонок наружу.

Если всё ОК, тогда видно, что вас отбрасывает после 20-го шага в макросе macro-user-callerid
Код: выделить все
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:20] Set("SIP/mf_305-0000398b", "CALLERID(name)=test_phone_(Иванов_Иван_Ива") in new stack
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c:     -- Executing [s@macro-user-callerid:21] NoOp("SIP/mf_305-0000398b", "Using CallerID "test_phone_(Иванов_Иван_Ива" <7<номер от кого пришел звонок изначально>>") in new stack
Скорее всего ваш провайдер SIP/mf_305 не даёт вам оригинироваться с номером, который вам не принадлежит - <7<номер от кого пришел звонок изначально>
И поэтому -
[2019-04-03 13:36:37] VERBOSE[13900][C-00001670] pbx.c: -- Executing [h@from-internal-xfer:1] Macro("SIP/mf_305-0000398b", "hangupcall") in new stack

Надо поставить закрывающий номер, который вам выдал провайдер, или договариваться с ним о подавлении номер, на транке SIP/mf_305, и тогда будет всё ОК.
ded
 
Сообщений: 13759
Зарегистрирован: 26 авг 2010, 19:00

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение Hanharr » 03 апр 2019, 21:32

ded писал(а):А проверяли?
А можете проверить?


Так работает несколько отделов продаж. Звонят одним своим транком.

Hanharr писал(а):Надо поставить закрывающий номер, который вам выдал провайдер, или договариваться с ним о подавлении номер, на транке SIP/mf_305, и тогда будет всё ОК.


Т.е. при переадресации входящего звонка обратно во вне, я должен подставить номер, который закреплен за транком (выдал мне провайдер), правильно? В попытках разобраться самостоятельно наткнулся на то, что нужно заполнить поле Outbound CID. Как я понимаю, в этом случае номер из этого поля будет передаваться провайдеру.
Hanharr
 
Сообщений: 5
Зарегистрирован: 03 апр 2019, 16:04

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение ded » 04 апр 2019, 01:29

Hanharr писал(а):при переадресации входящего звонка обратно во вне, я должен подставить номер, который закреплен за транком (выдал мне провайдер), правильно?
Правильно.
Hanharr писал(а):В попытках разобраться самостоятельно наткнулся на то, что нужно заполнить поле Outbound CID. Как я понимаю, в этом случае номер из этого поля будет передаваться провайдеру.
Ну да, я вообще то и написал про это же (выше).
Замечу, что когда создаёте транк, и не заполняете поле Outbound CID, то freePBX прямо кричит и напоминает о том,что его надо бы заполнить.
ded
 
Сообщений: 13759
Зарегистрирован: 26 авг 2010, 19:00

Re: Переадресация внешнего звонка на внешний номер (blind tr

Сообщение Hanharr » 04 апр 2019, 14:13

ded писал(а):Замечу, что когда создаёте транк, и не заполняете поле Outbound CID, то freePBX прямо кричит и напоминает о том,что его надо бы заполнить.


Оно заполнено в транках. Попробую указать в SIP конкретному пользователю. Спасибо.
Hanharr
 
Сообщений: 5
Зарегистрирован: 03 апр 2019, 16:04


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12

© 2008 — 2019 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH