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

различные переменные для slave channels

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

различные переменные для slave channels

Сообщение shader »

Столкнулся с задачей: (Asterisk 13)
Есть звонок (А канал)
В какой-то момент он раздваивается:

Код: Выделить всё

...
same => n,Dial(SIP/abonent1,SIP/abonent2)
...
И я хочу для каждого создаваемого канала (для абонента1(канал B) и абонента2(канал С)) Отдавать различные CALLERID звонящего абонента (канал А)
Но решить задачу не получается:
1. Если делать модификацию перед DIAL (Канал А), то, задача не решается. (модифицированный лишь однажды одинаковый CALLERID попадает в оба новых канала)
2. Если делать модификацию через subroute b:

Код: Выделить всё

...
same => n,Dial(SIP/abonent1,SIP/abonent2,b(callerid-modify,s,1))
...
То да, можно запустить скрипт AGI 2 раза для 2х создаваемых каналов. Но! Я не знаю как из каналов В и С изменить CALLERID в канале А. Скажите, это вообще возможно? На сколько я знаю (если что-то не поменялось) модифицировать переменные одного канала из другого канала - нельзя (сколько боли и страданий это добавляет). А только через SHARE.... Или все-таки как-то можно?
asterisker
Сообщения: 65
Зарегистрирован: 18 июл 2016, 11:40

Re: различные переменные для slave channels

Сообщение asterisker »

не проверял, на уровне идеи:

Что, если сделать через local каналы и в каждом отдельном случае подменять clid?

Типа:

Код: Выделить всё

.....
same => n,Dial(Local/abonent1@servicecontext,Local/abonent2@servicecontext)
.....

[servicecontex]

exten=> abonent1,1,Set(CALLERID(num)=123)
same => n,Dial(SIP/${EXTEN})

exten=> abonent2,1,Set(CALLERID(num)=456)
same => n,Dial(SIP/${EXTEN})
ded
Сообщения: 15619
Зарегистрирован: 26 авг 2010, 19:00

Re: различные переменные для slave channels

Сообщение ded »

А где вы нашли такой синтаксис?
Dial(SIP/abonent1,SIP/abonent2)
Dial(Local/abonent1@servicecontext,Local/abonent2@servicecontext)
Сами придумали?
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: различные переменные для slave channels

Сообщение shader »

asterisker писал(а):не проверял, на уровне идеи:
Хорошая идея. Как сам то не догадался...
bestann
Сообщения: 38
Зарегистрирован: 13 янв 2012, 01:03

Re: различные переменные для slave channels

Сообщение bestann »

Это в Вики по Астериску описано: https://wiki.asterisk.org/wiki/display/ ... l+Examples
Dialing Destinations with Different Information - этот пример
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: различные переменные для slave channels

Сообщение virus_net »

Только там не запятая, а & между Local.
201,n,Dial(Local/201@internal&Local/201@external,30)
P. S. shader, Оверквотинг не приветствуется.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: различные переменные для slave channels

Сообщение shader »

Та про & понятно, мелочи. PS. А так все задуманное получилось и заработало. Всем спасибо.
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: различные переменные для slave channels

Сообщение virus_net »

Авот вам не спасибо. "Все получилось, все свободны". Класс...
А как получилось и что было сделано... Именно эти вопросы будут в голове у людей, которые прочтут это топик найдя его через поиск.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
shader
Сообщения: 117
Зарегистрирован: 09 авг 2013, 10:33

Re: различные переменные для slave channels

Сообщение shader »

ну как что? Что и было предложено.

Код: Выделить всё

...
same => n,Dial(local/abonent1@hitrocontext&local/abonent2@hitrocontext)
...
...
[hitrocontext]
exten => _!.,1,AGI(super-puper-script.pl,${EXTEN}) ; Идем в БД, по имени пира что-то там ищем и потом меняем, сбиваем спутник с орбиты, начинаем 3 мировую и другие интересные вещи...
 same => n,Dial(SIP/${EXTEN},60,rtTU(another-hitrocontext))
...
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH