Как решить проблему
Пользователь набирает многоканальный номер
далее ему предлагают ввесети добавочный номер оператора (все операторы сидят на мобильниках и их прямые номера не должны быть видны для абонентов)
т.е пользователь набрал добавочный номер, скрипт взял из базы мобильный номер оператора который соответствует введонному ID
и астериск соединяет с этим мобильником
прописал
exten => _8XXXXXXXXXX,1,Dial(SIP/kanal1,60,S(20))
где указать номер мобильника чтобы через SIP/kanal1 был звонок именно на тот мобильник?
И как сделать так чтобы у пользователя, который звонит на многоканальный телефон на дисплее отображался только номер многоканального телефона
и у оператора который принимает звонок с астериска тоже отображался многоканальный номер, а не номер абонента?
и еще что указать вместо _8XXXXXXXXXX чтобы было все положено
В настройках внешнего канала, я надеюсь, контекст правильный уже стоит? Пусть он будет 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() |
Ну и не забываем про всё остальное.
Немного коряво получилось: без базы и т. д., но работать будет. Если нужно брать из базы - проще вызовы запихать в макрос.