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

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

Проблемы и их решения Asterisk как такового

Модератор: april22

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

Сообщение shader » 27 ноя 2018, 12:10

Столкнулся с задачей: (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.... Или все-таки как-то можно?
shader
 
Сообщений: 102
Зарегистрирован: 09 авг 2013, 10:33

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

Сообщение asterisker » 27 ноя 2018, 12:16

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

Что, если сделать через 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})
asterisker
 
Сообщений: 65
Зарегистрирован: 18 июл 2016, 12:40

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

Сообщение ded » 27 ноя 2018, 12:25

А где вы нашли такой синтаксис?
Dial(SIP/abonent1,SIP/abonent2)
Dial(Local/abonent1@servicecontext,Local/abonent2@servicecontext)
Сами придумали?
ded
 
Сообщений: 13484
Зарегистрирован: 26 авг 2010, 19:00

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

Сообщение shader » 27 ноя 2018, 12:28

asterisker писал(а):не проверял, на уровне идеи:

Хорошая идея. Как сам то не догадался...
shader
 
Сообщений: 102
Зарегистрирован: 09 авг 2013, 10:33

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

Сообщение bestann » 27 ноя 2018, 13:24

Это в Вики по Астериску описано: https://wiki.asterisk.org/wiki/display/ ... l+Examples
Dialing Destinations with Different Information - этот пример
bestann
 
Сообщений: 35
Зарегистрирован: 13 янв 2012, 01:03

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

Сообщение virus_net » 28 ноя 2018, 08:18

Только там не запятая, а & между 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 - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2235
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

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

Сообщение shader » 28 ноя 2018, 09:15

Та про & понятно, мелочи. PS. А так все задуманное получилось и заработало. Всем спасибо.
shader
 
Сообщений: 102
Зарегистрирован: 09 авг 2013, 10:33

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

Сообщение virus_net » 29 ноя 2018, 08:27

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

ENUMER - звони бесплатно и напрямую.
virus_net
 
Сообщений: 2235
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

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

Сообщение shader » 29 ноя 2018, 17:32

ну как что? Что и было предложено.
Код: выделить все
...
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))
...
shader
 
Сообщений: 102
Зарегистрирован: 09 авг 2013, 10:33


Вернуться в Конфигурация и настройка Asterisk

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

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

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