freeswitchforum.com https://freeswitchforum.com/ |
|
Звонок с консоли в обе стороны и объединение. https://freeswitchforum.com/viewtopic.php?f=6&t=900 |
Страница 1 из 1 |
Автор: | MrWhite [ 17 мар 2018 16:43 ] |
Заголовок сообщения: | Звонок с консоли в обе стороны и объединение. |
Приветствую. Сразу прощу прощения за возможно глупые вопросы, т.к FS впервые увидел неделю назад. Второй день не могу решить проблему. Стоит задача организовать "звонок с сайта", в том смысле, что пользователь вводит номер, а fs уже звонит на внутренний коллцентр, после поднятия трубки оператором - произносит сообщение (айди сайта), и звонит самому пользователю на внешнюю линию. Уже сломал мозг. Как заставить originate создать линию на колл центр (21000)? Пишет нет такого пользователя. Окей. Создаю пользователя и такой же экстеншен, скажем 10001. Ставлю ему редирект всех звонков на 21000. Запускаю originate. и внезапно, получаю: Cannot locate registered user 10001@192.168.1.110 При том, что беру любой внутренний телефон - звоню на номер 10001 - попадаю в нужный колл-центр. Если же сделать originate на реальный внутренний телефон - все проходит, линия создается, приветствие проигрывается. Код: originate {'call_timeout=15,origination_caller_id_number=+1234567890'}sofia/internal/10001%192.168.1.110 &playback('$${sounds_dir}/custom/call-from-site.wav') &transfer(+1234567890 XML 192.168.1.110) ... Cannot locate registered user 10001@192.168.1.110 Если же 10001 заменить на 201 (реальный телефон) - то именно этот телефон начинает звонить, снимаю трубку, проигрывается приветствие, и вылазит еще одна проблема - звонок на внешнюю линию не идет. Код: 2018-03-17 12:23:37.063563 [NOTICE] sofia.c:8218 Channel [sofia/internal/201] has been answered 2018-03-17 12:23:37.083558 [INFO] switch_channel.c:3129 sofia/internal/201 Flipping CID from "192.168.1.110)" <+1234567890> to "Outbound Call" <201%192.168.1.110> ... 2018-03-17 12:23:38.963559 [NOTICE] switch_core_state_machine.c:385 sofia/internal/201 has executed the last dialplan instruction, hanging up. 2018-03-17 12:23:38.963559 [NOTICE] switch_core_state_machine.c:387 Hangup sofia/internal/201 [CS_EXECUTE] [NORMAL_CLEARING] ... 2018-03-17 12:23:38.963559 [NOTICE] switch_core_session.c:1683 Session 7 (sofia/internal/201) Ended 2018-03-17 12:23:38.963559 [NOTICE] switch_core_session.c:1687 Close Channel sofia/internal/201 [CS_DESTROY] Что я делаю не так? |
Автор: | Vlad1983 [ 17 мар 2018 19:09 ] |
Заголовок сообщения: | Re: Звонок с консоли в обе стороны и объединение. |
все правильно звонок и не должен идти Код: originate,<call url> <exten>|&<application_name>(<app_args>) [<dialplan>] [<context>] [<cid_name>] [<cid_num>] [<timeout_sec>],Originate a call,mod_commands где увидели два "&<application_name>"?
uuid_xfer_zombie,<uuid>,Allow A leg to hangup and continue originating,mod_commands |
Автор: | MrWhite [ 17 мар 2018 19:49 ] |
Заголовок сообщения: | Re: Звонок с консоли в обе стороны и объединение. |
Vlad1983 писал(а): все правильно звонок и не должен идти Код: originate,<call url> <exten>|&<application_name>(<app_args>) [<dialplan>] [<context>] [<cid_name>] [<cid_num>] [<timeout_sec>],Originate a call,mod_commands где увидели два "&<application_name>"?uuid_xfer_zombie,<uuid>,Allow A leg to hangup and continue originating,mod_commands Предположил, что выполнение как в обычной консоли, только чрез один амперсанд. Получается, в originate - можно использовать только 1 апп?... Грустно. Правильно ли я понял, что в моем случае - самым простым и быстрым вариантом - будет сделать все через lua скрипт, который будет создавать одну сессию в коллцентр, после поднятия трубки - делать туда playback, создавать вторую сессию на внешний номер, и создавать бридж между ними? Без lua тут не обойтись? Или это можно как-то реализовать в рамках стандартного диалплана? И по uuid - его как-то можно получить, после originate? или его надо сначала сгенерировать, и при originate явно указывать? Как сделать originate на группу - разобрался, но как сделать originate на колл-центр?... |
Автор: | Vlad1983 [ 17 мар 2018 20:16 ] |
Заголовок сообщения: | Re: Звонок с консоли в обе стороны и объединение. |
Можно просто отправить в диалплан Код: <exten> [<dialplan>] [<context>] там уже хоть playback хоть все остальное
|
Автор: | MrWhite [ 17 мар 2018 21:33 ] |
Заголовок сообщения: | Re: Звонок с консоли в обе стороны и объединение. |
Если отправляю в диалплан, то ничего не звонит, и в логе [NO_ROUTE_DESTINATION]. при том, что с телефона все эти звонки работают. .. Пробую делать через консоль. Делаю: Код: originate {origination_uuid=66666666-6666-6666-6666-666666666666,leg=1,call_timeout=15,origination_caller_id_number=+111111111111}sofia/internal/21000@192.168.1.110 &park() Сделали первый звонок. Отлично, коллцентр зазвонил, все ок. На одном телефоне коллцентра подняли трубку, все ок. Но. [+] "show channels" После того, как подняли трубку - имеем три канала. Первый - запущенный через originate, и у него сгенерированный мной uuid, и он park(). Второй канал - uuid_bridge с 21000 (коллцентром). И третий канал - бридж между вторым и третьим, на конце которого находится телефон, который поднял трубку. Как вычислить UUID третьего канала, чтобы сделать в него uuid_broadcast? как я только не пытался передавать uuid в originate - ничего не вышло, у третьего канала всегда свой ууид, и добраться до него - никак не получилось. %( |
Автор: | Vlad1983 [ 18 мар 2018 17:23 ] |
Заголовок сообщения: | Re: Звонок с консоли в обе стороны и объединение. |
в диалплан работает нормально см. почему у вас NO_ROUTE_DESTINATION по логу |
Страница 1 из 1 | Часовой пояс: UTC + 4 часа |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |