Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
faq:did-routs [2023/01/25 07:13] Портнов Алексей [DID произвольном заголовке] |
faq:did-routs [2024/02/01 12:40] (текущий) Портнов Алексей [Манго офис] |
||
---|---|---|---|
Строка 102: | Строка 102: | ||
exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(------) | exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(------) | ||
same => n,Set(toNum=${PJSIP_HEADER(read,x-roistat-phone)}) | same => n,Set(toNum=${PJSIP_HEADER(read,x-roistat-phone)}) | ||
- | same => n,ExecIf($["${toNum}x" != "x" && $["${toNum}" != "${EXTEN}"]?Gosub(${CUT(CONTEXT,,1-3)},${toNum},1)) | + | same => n,ExecIf($["${toNum}x" != "x" && "${toNum}" != "${EXTEN}"]?Gosub(${CUT(CONTEXT,,1-3)},${toNum},1)) |
same => n,return | same => n,return | ||
</code> | </code> | ||
- функция "**PJSIP_HEADER**" считывает значение заголовка "**x-roistat-phone**" | - функция "**PJSIP_HEADER**" считывает значение заголовка "**x-roistat-phone**" | ||
- Gosub перемещает канал в начало, для повторной инициализации маршрута | - Gosub перемещает канал в начало, для повторной инициализации маршрута | ||
+ | |||
+ | |||
+ | ==== Манго офис ==== | ||
+ | |||
+ | Получение номера, на который позвонил клиент из поля "Diversion": | ||
+ | |||
+ | <code> | ||
+ | [SIP-1622040384-incoming-custom] | ||
+ | exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(------) | ||
+ | same => n,Set(tmpDiversion=${PJSIP_HEADER(read,Diversion)}) | ||
+ | same => n,ExecIf($["x${tmpDiversion}" != "x"]?Set(toNum=${CUT(CUT(tmpDiversion,>,1),:,2)})) | ||
+ | same => n,ExecIf($["${toNum}x" != "x" && "${toNum}" != "${EXTEN}"]?Gosub(${CUT(CONTEXT,,1-3)},${toNum},1)) | ||
+ | same => n,return | ||
+ | </code> | ||
+ | |||
+ | Более универсальный вариант: | ||
+ | <code>[add-trim-prefix-clid-custom] | ||
+ | exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(------) | ||
+ | same => n,Set(tmpDiversion=${PJSIP_HEADER(read,Diversion)}) | ||
+ | same => n,ExecIf($["x${tmpDiversion}" != "x"]?Set(toNum=${CUT(CUT(tmpDiversion,@,1),:,2)})) | ||
+ | same => n,ExecIf($["${toNum}x" != "x" && "${toNum}" != "${EXTEN}"]?Gosub(${contextID},${toNum},1)) | ||
+ | same => n,return</code> | ||
+ | ==== Novafon (zadarma) ==== | ||
+ | |||
+ | Получение номера, на который позвонил клиент из заголовка "CALLED_DID": | ||
+ | <code> | ||
+ | [SIP-1622040384-incoming-custom] | ||
+ | exten => _[0-9*#+a-zA-Z][0-9*#+a-zA-Z]!,1,NoOp(------) | ||
+ | same => n,Set(toNum=${PJSIP_HEADER(read,CALLED_DID)}) | ||
+ | same => n,ExecIf($["${toNum}x" != "x" && "${toNum}" != "${EXTEN}"]?Gosub(${CUT(CONTEXT,,1-3)},${toNum},1)) | ||
+ | same => n,return | ||
+ | </code> | ||
[[faq:|Обратно к инструкциям]] | [[faq:|Обратно к инструкциям]] | ||