39 просмотров
назад от (120 баллов) в категории Настройка провайдеров
редактировать назад от
Здравствуйте.

У меня есть определённое количество статических телефонных номеров от провайдера. При звонке у клиента не высвечивается мой внешний номер а номер провайдера.

Как перенаправить внутренний на внешний?
назад от (67.5 тыс. баллов)

Что за "Провайдер" используется? 

Приведите пример, по описанию не совсем понятно. 

Возможно нужно в настройках провайдера описать расширенные опции, к примеру fromuser - от имени какого номера идет звонок. 

назад от (120 баллов)
Провайдер Sipgate

На странице провайдера нет не каких настроек. 
Это то что стоит на странице провайдера как решение данной проблемы.

[sipout]
exten => _X.,1,Set(CALLERID(number)=SIPID)
exten => _X.,n,SipAddHeader(P-Preferred-Identity: <sip:4921158000000@sipconnect.sipgate.de>)
exten => _X.,n,Dial(SIP/${EXTEN}@sipgate-out,30,trg)
exten => _X.,n,Hangup

Это мой extensions.conf

[SIP-12345-24-outgoing]
exten => _X!,1,Set(number=${ADDPLUS}${EXTEN})
	same => n,ExecIf($["${number}x" == "x"]?Hangup())
	same => n,Set(ROUTFOUND=1)
	same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)
	same => n,ExecIf($["${EXTERNALPHONE}" == "${EXTEN}"]?Set(DOPTIONS=tk))
	same => n,GosubIf($["${DIALPLAN_EXISTS(SIP-12345-outgoing-custom,${EXTEN},1)}" == "1"]?SIP-12345-outgoing-custom,${EXTEN},1)
	same => n,Dial(PJSIP/${number}@SIP-12345,600,${DOPTIONS}TKU(dial_answer)b(dial_create_chan,s,1))
	same => n,GosubIf($["${DIALPLAN_EXISTS(SIP-12345-outgoing-after-dial-custom,${EXTEN}),1}" == "1"]?SIP-12345-outgoing-after-dial-custom,${EXTEN},1)
	same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))
	same => n,ExecIf($["${DIALSTATUS}" = "ANSWER"]?Hangup())
	same => n,Set(pt1c_UNIQUEID=${EMPTY_VALUE})
	same => n,return

Как связать эти два кода что-бы посылался тот номер который нужно а не центральный.

С уважением pbxuser

1 Ответ

назад от (67.5 тыс. баллов)

Будет выглядеть примерно так. Пробуйте. Отладить этот dialplan у меня нет возможности. Dialplan следует добавить в конец файла extensions.conf через меню "кастомизация системных файлов"

[SIP-12345-outgoing-custom]
exten => _X!,1,Ringing()
  same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)
  same => n,Dial(PJSIP/${number}@SIP-12345,600,${DOPTIONS}TKU(dial_answer)b(sipgate-create-chan,s,1))
  same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))
  same => n,Set(pt1c_UNIQUEID=${EMPTY_VALUE})
  same => n,ExecIf($["${BLINDTRANSFER}x" != "x"]?AGI(check_redirect.php,${BLINDTRANSFER}))
  same => n,Hangup()

[sipgate-create-chan]
exten => s,1,Set(CALLERID(number)=SIPID); ??? тут точно должна быть строка "SIPID"
  same => n,Gosub(dial_create_chan,${EXTEN},1)
  same => n,Set(PJSIP_HEADER(add,P-Preferred-Identity)=<sip:4921158000000@sipconnect.sipgate.de>)
  same => n,return
назад от (120 баллов)
Спасибо за помощь

Телефонный номер изменяет, но не для одного конкретного телефона а для всех телефонов в сети которые звонят через провайдера. Как можно сделать так что бы это правило действовало только для одного телефона ? У каждого должен быть свой номер.

С уважением

pbxuser
назад от (440 баллов)

[SIP-12345-24-outgoing-custom]

exten => _X!,1,NoOp(для провайдера подмена внутреннего номера на город)

same => n,ExecIf($["${FROM_PEER}" == "внутренний_номер"]?Set(CALLERID(num)=внешний_номер))

same => n,ExecIf($["${FROM_PEER}" == "внутренний_номер2"]?Set(CALLERID(num)=внешний_номер2))

same => n,ExecIf($["${FROM_PEER}" == "внутренний_номер3"]?Set(CALLERID(num)=внешний_номер2))

внешний номер в формате код города и номер телефона слитно

внутренний номер телефона с которого идёт звонок 

назад от (67.5 тыс. баллов)

Вы пробовали использовать модуль Группы пользователей?

Он решает задачу установки "CALLERID(num)"  без кастомизации dialplan. 

Предложенная мной кастомизация необходима только для установки заголовка "P-Preferred-Identity". 

назад от (120 баллов)
Установил модуль Группы пользователей имеется код приведённый ниже. Теперь надо как то интегрировать
строку.
same => n,Set(PJSIP_HEADER(add,P-Preferred-Identity)=<sip:4922222222222@sipconnect.sipgate.de>)
между  ModuleUsersGroups START и ModuleUsersGroups END
"4922222222222" декларировать как переменную

[SIP-1234567-24-outgoing]
exten => _X!,1,Set(number=${ADDPLUS}${EXTEN})
    ; --- ModuleUsersGroups START ---
    same => n,ExecIf($["x${FROM_PEER}" == "x" && "${CHANNEL(channeltype)}" == "PJSIP" ]?Gosub(set_from_peer,s,1))
    same => n,Set(GR_VARS=${DB(UsersGroups/${FROM_PEER})})
    same => n,ExecIf($["${GR_VARS}x" != "x"]?Exec(MSet(${GR_VARS})))
    same => n,ExecIf($["${GR_PERM_ENABLE}" == "1" && "${GR_ID_24}" != "1"]?return)
    same => n,ExecIf($["${GR_PERM_ENABLE}" == "1" && "${GR_CID_24}x" != "x"]?MSet(GR_OLD_CALLERID=${CALLERID(num)},CALLERID(num)=${GR_CID_24}))
    ; --- ModuleUsersGroups END ---
    same => n,ExecIf($["${number}x" == "x"]?Hangup())
    same => n,Set(ROUTFOUND=1)
    same => n,Gosub(${ISTRANSFER}dial,${EXTEN},1)
    same => n,ExecIf($["${EXTERNALPHONE}" == "${EXTEN}"]?Set(DOPTIONS=tk))
    same => n,GosubIf($["${DIALPLAN_EXISTS(SIP-1234567-outgoing-custom,${EXTEN},1)}" == "1"]?SIP-1234567-outgoing-custom,${EXTEN},1)
    same => n,Dial(PJSIP/${number}@SIP-1234567,600,${DOPTIONS}TKU(dial_answer)b(dial_create_chan,s,1))
    ; --- ModuleUsersGroups START ---
    same => n,ExecIf($["${GR_PERM_ENABLE}" == "1" && "${GR_OLD_CALLERID}x" != "x"]?MSet(CALLERID(num)=${GR_OLD_CALLERID},GR_OLD_CALLERID=${UNDEFINED}))
    ; --- ModuleUsersGroups END ---
    same => n,GosubIf($["${DIALPLAN_EXISTS(SIP-1234567-outgoing-after-dial-custom,${EXTEN}),1}" == "1"]?SIP-1234567-outgoing-after-dial-custom,${EXTEN},1)
    same => n,ExecIf($["${ISTRANSFER}x" != "x"]?Gosub(${ISTRANSFER}dial_hangup,${EXTEN},1))
    same => n,ExecIf($["${DIALSTATUS}" = "ANSWER"]?Hangup())
    same => n,Set(pt1c_UNIQUEID=${EMPTY_VALUE})
    same => n,return

С уважением
pbxuser
назад от (67.5 тыс. баллов)

4922222222222 - что можно быть тут?  CALLERID(num)? 

Какая связь между этим значением и CALLERID(num)? 

Могу предположить, что они равны, тогда лучше использовать переменную ${CALLERID(num)}

между  ModuleUsersGroups START и ModuleUsersGroups END

между этими комментариями вставить ничего не выйдет. 

назад от (120 баллов)
Мне кажеться "CALLERID(number)" это номер который который я набираю на телефоне мне надо внутренний номер телефонного аппарата

[sipgate-create-chan]
exten => s,1,Set((${CALLERID(number):0:3})=444)
   same => n,Gosub(dial_create_chan,${EXTEN},1)
   same => n,Set(PJSIP_HEADER(add,P-Preferred-Identity)=<sip:12345@sipconnect.sipgate.de>)
   same => n,return

С уважением
pbxuser
назад от (67.5 тыс. баллов)

Не пытайтесь править значение CALLERID(num) - обратите внимание на написание, не number а num. Это значение можно установить через интерфейс "Групп пользователей", для каждого сотрудника создайте индивидуальную группу и укажите для него исходящий callerid. 

Если "CALLERID(num)" должен быть равен внутреннему номеру - то вообще ничего менять не нужно, и группы пользователей следует отключить. По умолчанию передается именно номер абонента, который совершает вызов, как раз внутренний номер. 

На этом сайте можно бесплатно задать вопрос разработчикам MikoPBX и другим членам сообщества. Время ответа не регламентированно, но мы стараемся несколько раз в день заглядывать сюда. Для срочного решения проблем обращайтесь на платную линию поддержки

Популярные теги

askozia настройка входящие-вызовы провайдер ivr запись-разговоров маршрутизация провайдеры askozia7 очередь маршрут askozia6 запись исходящие-звонки очередь-вызовов обновление переадресация факс перевод-вызова транк callerid перехват-вызова веб-интерфейс перевод настройка-провайдер ascozia история мобильный интеграция установка логи редактор звонок nat релиз goip аон маршруты провайдеров голосовая-почта панель-телефонии-1с разговоров битрикс телефонная-книга диалплан тишина исходящие smtp почта gsm вызовы asterisk лицензия панель askozia-5 bitrix24 донабор переадресация-мобильный префиксы время голосовая парковка перехват вызовов номер vmware мультифон мегафон внешние-номера запись-разговора нерабочее-время mikopbx задержки статистика monitoring звонков ошибка fax меню skype sip ssh 2 #mikopbx телеграм консольное web-интерфейс дополнительный-диск распределение память проброс-портов битрикс24 beta настройка-исходящие-исходящих-вызов-вызовов сетевые подменю goip4 отправка-факса демо-версия

1.7 тыс. вопросов

1.5 тыс. ответов

3.7 тыс. комментариев

4.8 тыс. пользователей

...