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

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


faq:did-routs

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
faq:did-routs [2021/08/30 13:35]
Портнов Алексей [DID в заголовке To]
faq:did-routs [2024/02/01 12:40] (текущий)
Портнов Алексей [Манго офис]
Строка 101: Строка 101:
 [SIP-1622040384-incoming-custom] [SIP-1622040384-incoming-custom]
 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-phon)}) + same => n,​Set(toNum=${PJSIP_HEADER(read,​x-roistat-phone)}) 
- same => n,​ExecIf($["​${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-phon**"+  - функция "​**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:​|Обратно к инструкциям]]
  
faq/did-routs.1630330505.txt.gz · Последние изменения: 2021/08/30 13:35 — Портнов Алексей