Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия | |||
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:|Обратно к инструкциям]] |