AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Как решить проблему

Newbies/FAQ Forum 2 сообщений 08.09.2011 10:21 - 08.09.2011 11:14
#1 08.09.2011 10:21

Как решить проблему


Есть многоканальный телефон с которого по SIP звонки отправляются на мой asterisk
Пользователь набирает многоканальный номер
далее ему предлагают ввесети добавочный номер оператора (все операторы сидят на мобильниках и их прямые номера не должны быть видны для абонентов)
т.е пользователь набрал добавочный номер, скрипт взял из базы мобильный номер оператора который соответствует введонному ID
и астериск соединяет с этим мобильником

прописал
exten => _8XXXXXXXXXX,1,Dial(SIP/kanal1,60,S(20))

где указать номер мобильника чтобы через SIP/kanal1 был звонок именно на тот мобильник?

И как сделать так чтобы у пользователя, который звонит на многоканальный телефон на дисплее отображался только номер многоканального телефона
и у оператора который принимает звонок с астериска тоже отображался многоканальный номер, а не номер абонента?

и еще что указать вместо _8XXXXXXXXXX чтобы было все положено
#2 08.09.2011 11:14

Для начала, конечно, прочитать книжку.

В настройках внешнего канала, я надеюсь, контекст правильный уже стоит? Пусть он будет from-internal.
Добавочные номера операторов 101-103. Номера их мобильников 89101234101 - 89101234103

Code:
[general]

NASHNOMER=1234567 ;это тот коллерид, который будет светиться

[from-internal]

exten => _X.,1,Goto(menu,s,1)

[menu]

exten => s,1,Answer()
same => n,Background(preved)
same => n,WaitExten() ;пишем здесь нормальные параметры

exten => 101,1,Set(CALLERID(num)=${NASHNOMER})
same => n,Dial(SIP/kanal1/89101234101,60) ;опять же сами думайте, какие параметры нужны
same => n,Hangup()

exten => 101,1,Set(CALLERID(num)=${NASHNOMER})
same => n,Dial(SIP/kanal1/89101234102,60)
same => n,Hangup()

exten => 101,1,Set(CALLERID(num)=${NASHNOMER})
same => n,Dial(SIP/kanal1/89101234103,60)
same => n,Hangup()


Ну и не забываем про всё остальное.
Немного коряво получилось: без базы и т. д., но работать будет. Если нужно брать из базы - проще вызовы запихать в макрос.