Инструменты пользователя

Инструменты сайта


faq:add_ppi

Это старая версия документа!


Добавить P-Preferred-Identity и Remote-Party-ID заголовок

Обратно к инструкциям

Некоторые провайдеры при инициации исходящего звонка требуют отправки дополнительного SIP заголовка. В этой статье опишу способ его установить.

Для решения задачи следует описать дополнительные контексты через меню Кастомизация системных файлов. Править будем файл extensions.conf. Добавьте в конец файла следущий текст:

[SIP-1611151795-outgoing-custom]
exten => _X!,1,Dial(PJSIP/${number}@SIP-${CUT(CONTEXT,-,2)},600,${DOPTIONS}TKU(dial_answer)b(dial_create_chan_${CUT(CONTEXT,-,2)}_custom,s,1))
    same => n,ExecIf($["${DIALSTATUS}" = "ANSWER"]?Hangup())
    same => n,ExecIf($["${DIALSTATUS}" = "BUSY"]?Busy(2))
    same => n,return
    
[dial_create_chan_1611151795_custom] 
exten => s,1,Gosub(lua_${ISTRANSFER}dial_create_chan,${EXTEN},1)
    same => n,Set(pt1c_is_dst=1) 
    same => n,Set(OUTGOING_CID=74952293042)
    same => n,ExecIf($["${OUTGOING_CID}x" != "x"]?Set(PJSIP_HEADER(add,P-Preferred-Identit)=<sip:${OUTGOING_CID}@127.0.0.1>))
    same => n,ExecIf($["${OUTGOING_CID}x" != "x"]?Set(PJSIP_HEADER(add,Remote-Party-ID)=<sip:${OUTGOING_CID}@127.0.0.1>))
    same => n,Set(__PT1C_SIP_HEADER=${UNDEFINED}) 
    same => n,Set(CHANNEL(hangup_handler_wipe)=hangup_handler,s,1) 
    same => n,return

Обратите внимание:

  1. Все вхождения строки «SIP-1611151795» следует заменить на ID провайдера «найти» можно в адресной строке браузера при редактировании учетной записи в web интерфейсе MIKOPBX
  2. Вместо «<sip:${OUTGOING_CID}@127.0.0.1>» следует задать требуемое значение заголовков

Более универсальный вариант:

Обратно к инструкциям

faq/add_ppi.1643787934.txt.gz · Последние изменения: 2022/02/02 07:45 — Портнов Алексей