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

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


faq:add_ppi

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
faq:add_ppi [2022/02/02 07:45]
Портнов Алексей
faq:add_ppi [2022/02/02 07:48] (текущий)
Портнов Алексей
Строка 28: Строка 28:
 **Обратите внимание**:​ **Обратите внимание**:​
   - Все вхождения строки "​**SIP-1611151795**"​ следует заменить на ID провайдера "​**найти**"​ можно в адресной строке браузера при редактировании учетной записи в web интерфейсе MIKOPBX   - Все вхождения строки "​**SIP-1611151795**"​ следует заменить на ID провайдера "​**найти**"​ можно в адресной строке браузера при редактировании учетной записи в web интерфейсе MIKOPBX
-  - Вместо "<​sip:​${OUTGOING_CID}@127.0.0.1>"​ следует задать требуемое значение заголовков+  - Вместо "**<​sip:​${OUTGOING_CID}@127.0.0.1>​**" следует задать требуемое значение заголовков
  
-Более универсальный ​вариант:+При использовании модуля "Группы пользователей"​:
  
 +<​code>​
 +
 +[SIP-1611151795-outgoing-ug-custom]
 +exten => _X!,​1,​Dial(PJSIP/​${number}@SIP-${CUT(CONTEXT,​-,​2)},​600,​${DOPTIONS}TKU(dial_answer)b(dial_create_chan_custom,​s,​1))
 + same => n,​ExecIf($["​${DIALSTATUS}"​ = "​ANSWER"​]?​Hangup())
 + same => n,​ExecIf($["​${DIALSTATUS}"​ = "​BUSY"​]?​Busy(2))
 +    same => n,return
 +    ​
 +[dial_create_chan_custom] ​
 +exten => s,​1,​Gosub(lua_${ISTRANSFER}dial_create_chan,​${EXTEN},​1)
 +    same => n,​Set(pt1c_is_dst=1) ​
 +    same => n,​Set(GR_VARS=${DB(UsersGroups/​${FROM_PEER})}) ​
 +    same => n,​Set(tmpName=${CUT(GR_VARS,​\,,​2)})
 +    same => n,​Set(tmpName=${CUT(tmpName,​\_,​3)})
 + same => n,​ExecIf($["​${GR_VARS}x"​ != "​x"​]?​Exec(Set(${GR_VARS}))) ​
 + same => n,​ExecIf($["​${GR_PERM_ENABLE}"​ == "​1"​ && "​${GR_ID_${tmpName}}"​ != "​1"​]?​return) ​
 + same => n,​ExecIf($["​${GR_PERM_ENABLE}"​ == "​1"​ && "​${GR_CID_${tmpName}}x"​ != "​x"​]?​MSet(GR_OLD_CALLERID=${CALLERID(num)},​OUTGOING_CID=${GR_CID_${tmpName}}))
 + 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
 +    ​
 +</​code>​
 +<note important>​Особенность этого варианта в том, что значение "​OUTGOING_CID"​ будет браться из настроек групп пользователей. Для каждой группы можно назначить свое значение исходящего callerid. К примеру провайдер Westcall таким образом позволяет управлять значением callerid, который видит клиент.</​note> ​
  
  
 [[faq:​|Обратно к инструкциям]] [[faq:​|Обратно к инструкциям]]
faq/add_ppi.1643787934.txt.gz · Последние изменения: 2022/02/02 07:45 — Портнов Алексей