Здесь показаны различия между двумя версиями данной страницы.
Следующая версия | Предыдущая версия | ||
faq:cid_norm [2019/07/08 14:43] Портнов Алексей создано |
faq:cid_norm [2023/05/05 08:16] (текущий) Портнов Алексей |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
[[faq:|Обратно к инструкциям]] | [[faq:|Обратно к инструкциям]] | ||
- | При подключении к Askozia более одного провайдера может сложится ситуация, что номер телефона клиентов поступает в различном формате: | + | При подключении к MikoPBX более одного провайдера может сложится ситуация, что номер телефона клиентов поступает в различном формате: |
- | * В 5ти значном виде - **44553** | + | * В 7ти значном виде - **2293042** |
* Через "+", к пример **+79257184444** | * Через "+", к пример **+79257184444** | ||
* Через "8", к примеру **89257184444** | * Через "8", к примеру **89257184444** | ||
Строка 19: | Строка 19: | ||
[SIP-PROVIDER-B63EE3497989BF6597FF8C9DEC77EB49-incoming-custom] | [SIP-PROVIDER-B63EE3497989BF6597FF8C9DEC77EB49-incoming-custom] | ||
exten => _.!,1,NoOp(---) | exten => _.!,1,NoOp(---) | ||
- | ; отсекаем плюс | + | ; Отсекаем плюс |
same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"+")}) | same => n,Set(CALLERID(num)=${REPLACE(CALLERID(num),"+")}) | ||
- | ; нормализуем 11ти значный номер | + | ; Для 11ти значного номера отсекаем первую цифру и добавляем 7 |
- | same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == "11" ]?Set(CALLERID(num)=7${CALLERID(num):1})) | + | same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == 11 ]?Set(CALLERID(num)=7${CALLERID(num):1})) |
+ | ; Для 7ми значного номера добавляем код страны 7 и код города 495 | ||
same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == 7 ]?Set(CALLERID(num)=7495${CALLERID(num)})) | same => n,ExecIf($[ ${LEN(${CALLERID(num)})} == 7 ]?Set(CALLERID(num)=7495${CALLERID(num)})) | ||
+ | same => n,return | ||
+ | ; Если номер звонящего начинается с 886142 (11 значный), то отрезать код города "886142" | ||
+ | exten => _.X!/_886142XXXXX,1,Set(CALLERID(num)=${CALLERID(num):5}) | ||
same => n,return | same => n,return | ||
</code> | </code> | ||
Строка 37: | Строка 41: | ||
{{ :faq:2019-02-08_164259.png |}}\\ | {{ :faq:2019-02-08_164259.png |}}\\ | ||
- | Обращаем Ваше внимание, если у Вас в Askozia подключено несколько провайдеров, выше описанный фрагмент кода нужно составить для каждого провайдера, учитывая уникальность ID каждого из провайдеров. | + | Обращаем Ваше внимание, если у Вас в MikoPBX подключено несколько провайдеров, выше описанный фрагмент кода нужно составить для каждого провайдера, учитывая уникальность ID каждого из провайдеров. |
+ | |||
+ | Если необходимо добавить нормализацию для всех провайдеров сразу, то достаточно описать контекст "**add-trim-prefix-clid-custom**". Пример, все 10ти значным АОН добавить 7ку: | ||
+ | <code>[add-trim-prefix-clid-custom] | ||
+ | exten => _.X!,1,ExecIf($[ ${LEN(${CALLERID(num)})} == 10 ]?Set(CALLERID(num)=7${CALLERID(num)})) | ||
+ | same => n,return</code> | ||
[[faq:|Обратно к инструкциям]] | [[faq:|Обратно к инструкциям]] |