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

Помогите с Callthrough

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

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

scherkhan
Сообщения: 29
Зарегистрирован: 29 мар 2012, 16:49

Помогите с Callthrough

Сообщение scherkhan »

Помогите пожалуйста в настройке Callthrough.

Постараюсь объяснить внятней. Звонки поступают с немецкого мобильного номера.
Имеется несколько сип-транков для разных направлений. все правила для локальных пиров прописаны уже в extensions.conf. т.е.


при наборе 0[2-8]X. набор чере trank1 (местная сип-линия)
при наборе 01X. набор через донгл
при наборе [23]XXXXXX набор через алматинского провайдера
при наборе 007[48]XXXXXXXXX набор через trank2
при наборе 79XXXXXXXXX набор через мультифон

и т.д., смотря куда звоним

т.е для локальных пиров все прописано и работает. вот теперь хочу настроить Callthrough, чтоб дозваниваться на определенный номер, вводить пин, далее номер телефона и #. но чтобы не был привязан к конкретному транку, а поддавался правилам конфига, как локальные.

благодарен за любую помощь!
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Помогите с Callthrough

Сообщение Vlad1983 »

ЛС: @rostel
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Помогите с Callthrough

Сообщение ded »

scherkhan писал(а): вот теперь хочу настроить Callthrough, чтоб дозваниваться на определенный номер, вводить пин, далее номер телефона и #.
Это называется DISA - Dial-In System Access or Direct Inward System Access(Прямой доступ к ресурсам системы) а не Callthrough.
Функция "Прямой доступ к ресурсам системы (DISA)" позволяет внешним абонентам получать доступ к требуемым адресатам УАТС без помощи оператора. Вызывающие абоненты могут прослушать OGM DISA, информирующее о различных номерах, которые необходимо набрать для установления соединения с требуемым абонентом или отделом (Например - "Наберите PIN!". Кроме того, DISA может обеспечить доступ пользователей АТС к различным функциям УАТС, например, выполнению вызовов по внешней линии.
Входящий маршрут с номера DID доступа направляется в сценарий DISA. Это может быть как аналоговый шлюз, так и цифровая линия, или DID поданый по SIP.
scherkhan
Сообщения: 29
Зарегистрирован: 29 мар 2012, 16:49

Re: Помогите с Callthrough

Сообщение scherkhan »

Спасибо за помощь!

Я не знал, как правильно назвать эту функцию. На данный момент пользуюсь этой функцией на роутере Fritz!Box, и она в нем так называется. В боксе эта фича работает отлично, но ограничена только одной линией, а мне, как всегда мало. хочется большего и расширенного функционала.

Еще раз спасибо, буду пытаться.
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Помогите с Callthrough

Сообщение ded »

Для шлюза Callthrough название верное, входящий звонок типа насквозь пробрасывает. А функционал DISA относится к АТС (РВХ), поэтому - если пробрасываем входящий из шлюза с помощью Callthrough насквозь в Астериск, то обрабатываем его там с помощью DISA.
scherkhan
Сообщения: 29
Зарегистрирован: 29 мар 2012, 16:49

Re: Помогите с Callthrough

Сообщение scherkhan »

запустил так:

[incomig]
exten => ${SIP2},1,GotoIf($[${CALLERID(num)} = 0176344ххххх]?verno:neverno);анализ CID
exten => ${SIP2},n(verno),Answer()
exten => ${SIP2},n,DISA(1234,disa)
exten => ${SIP2},n,Hangup()
exten => ${SIP2},n(neverno),Dial(${FRITZ},30)
exten => ${SIP2},n,Hangup()

[disa]
; включил все контексты, которыми хочу пользоваться
include => internal
include => out-international
include => out-almaty
include => out-multifon

сейчас набираю на мобильном 0301111111111p1234#номер желаемого телефона. все работает.

хотел спросить, можно ли еще улучшить и/или обезопасить этот диалплан?
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Помогите с Callthrough

Сообщение ded »

[incomig]
exten => ${SIP2}/0176344ххххх,1,Answer()
exten => ${SIP2}/0176344ххххх,n,DISA(1234,disa)
exten => ${SIP2}/0176344ххххх,n,Hangup()

exten => ${SIP2},1,Dial(${FRITZ},30)
exten => ${SIP2},n,Hangup()
scherkhan
Сообщения: 29
Зарегистрирован: 29 мар 2012, 16:49

Re: Помогите с Callthrough

Сообщение scherkhan »

to ded

Спасибо большое! все отлично работает!!! данный вариант меня спас в еще в другом случае.... у меня висят несколько транков германии, на одном номер определяется в формате +49176..... , на других 0176, т.е. без знака плюса и кода страны. если использую CallerID на том, у которого местный формат:

exten => ${SIP2},1,GotoIf($[${CALLERID(num)} = 0176344ххххх]?verno:neverno)

отрабатывает нормально. Но если для другого оператора, который передает номер с плюсом и кодом страны:

exten => ${SIP2},1,GotoIf($[${CALLERID(num)} = +49176344ххххх]?verno:neverno)

то астериск жалуется на знак плюса:

WARNING[3425]: ast_expr2.fl:468 ast_yyerror: ast_yyerror(): syntax error: syntax error, unexpected '+', expecting $end; Input:
+49176344xxxxx = +49176344xxxxx

Подскажите, где копать?

Это конечно на данный момент не кретично, но в будущем обрабатывать некоторые номера придется.

Добавлю, что если я делаю сравнение хоть с плюсом или без, условие обрабатывается в обоих случаях, как 'neverno'
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Помогите с Callthrough

Сообщение ded »

Вы непоняли пример. Вам не нужен Goto.
Смотрите ещё раз:

exten => ${SIP2}/0176344ххххх,1,Answer()
exten => ${SIP2}/0176344ххххх,n,DISA(1234,disa)
exten => ${SIP2}/0176344ххххх,n,Hangup()

добавлю ещё

exten => ${SIP2}/+49176344ххххх,1,Answer()
exten => ${SIP2}/+49176344ххххх,n,DISA(1234,disa)
exten => ${SIP2}/+49176344ххххх,n,Hangup()
scherkhan
Сообщения: 29
Зарегистрирован: 29 мар 2012, 16:49

Re: Помогите с Callthrough

Сообщение scherkhan »

Еще раз спасибо, я вас понял и сделал так. все работает отлично....

сейчас меня интересует другое. если я захочу кого нибудь добавить в черный список или обработать звонок каким-либо другим способом, то надо бы использовать CallerID. Или даже тупо обрезать +49 и заменить на ноль. а то наши некоторые телефоны показываю на дисплее без плюса 49ххххххххххххх, а некоторые нормально обрабатывают, заменяя +49 на 0.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH