Вопрос, реально ли?
Сообщений: 7
|
Вопрос, реально ли?
Суть:
1) Поступил звонок от абонента по SIP на Астериск.
2) Дальше согласно диалплану Dial() -> на шлюз. Но шлюз CDMA, и коннект отдает не по факту ответа, а через оперделенное вермя.
3) Нужно Определить что происходит в канале после коннекта, но не отдавать коннект абоненту, пока не определено что именно произошло, (BUSY/RINGING/VOICE).
Была мысль про app_amd, но я так и не понял как ее прикрутить к данной задаче, и судя по всему ни как.
Может есть у кого мысли.
|
Откуда: Kiev
Сообщений: 801
|
Re: Вопрос, реально ли?
А что мешает просто макросом анализировать значения переменных? Ведь если коннект есть (я так понимаю, что под "коннектом" вы подразумеваете, что на том конце ответили), то Dial автоматом забриджует два канала (а чего уж более, ведь суть звонка как раз и есть общение), в противном случае, макрос отработает своей логикой номерного плана, анализируя ту или иную канальную переменную ИМХО
Лучший способ предвидеть будущее - изобрести его (Алан Кей, "Apple")
|
Откуда: Уфа
Сообщений: 5856
|
Re: Вопрос, реально ли?
betman, читай внимательней:
Но шлюз CDMA, и коннект отдает не по факту ответа, а через оперделенное вермя.
автору темы надо искать нормальный шлюз
|
Сообщений: 7
|
Re: Вопрос, реально ли?
Нужно ложную исключить. Нужно анализировать состояние исходяшего канала, а исходя из результата, либо выдать абоненту CONNECT, либо BUSY, либо...
Я так понял...это не возможно?
|
Откуда: Уфа
Сообщений: 5856
|
Re: Вопрос, реально ли?
в вашем случае - похоже что нет. Шлюз должен понимать сигнализацию и отдавать ее в канал
|
Сообщений: 11
|
Re: Вопрос, реально ли?
Андрей, можешь попробовать:
[calls-to-cdma]
...
exten => _X.,n,Dial(SIP/${EXTEN}@cdma-gateway|60|M(recognize))
...
[macro-recognize]
exten => s,1,AMD(...)
Только вот подбирать параметры для АМД придется самому и нет гарантии что заработает.
|
Сообщений: 7
|
Re: Вопрос, реально ли?
radu: Андрей, можешь попробовать:
[calls-to-cdma]
...
exten => _X.,n,Dial(SIP/${EXTEN}@cdma-gateway|60|M(recognize))
...
[macro-recognize]
exten => s,1,AMD(...)
Только вот подбирать параметры для АМД придется самому и нет гарантии что заработает.
Спасибо попробую, и отпишусь по результатам.
|
Сообщений: 7
|
Re: Вопрос, реально ли?
Вот только не совсем понял, как будет действовать макрос, а как он повлияет на то что отдаст Астериск абоненту. Если допустим CONNECT по любому прийдет на астериск через 5 сек после Dial.
|
Сообщений: 11
|
Re: Вопрос, реально ли?
M(x): Executes the macro (x) upon connect of the call (i.e. when the called party answers).
Макро начнет выполнятся только когда СДМА шлюз ответит на звонок. В макро вы пытаетесь определить статус звонка и только когда вы определите ответ по факту, соедините звонок.
http://www.voip-info.org/wiki-Asterisk+cmd+Dial , раздел Dial macros
|
Сообщений: 7
|
Re: Вопрос, реально ли?
Допустим, отработал HUMAN, и когда коннект уйдет звонящему?
Или он по любому уйдет после того как отработает макрос?
|
|