В одном помещении, которое обслуживает единая инсталляция IP-PBX Elastix, находятся офисы сразу двух компаний, сотрудники которых частично пересекаются, т.е. работают сразу в обоих. Однако, набор внешних номеров ТСОП у каждой из компаний свой. Встала необходимость сделать так, что бы персонал мог идентифицировать, в какую именно из них поступил входящий звонок.
Внешние номера являются trunk’ами SIP для Elastix и подключаются традиционно в разделе "Trunks". Как правило, операторы ТСОП передают в поле CALLERID(num) номер звонящего, а вот CALLERID(name) оставляют пустым. Сам Elastix в таком случае делает CALLERID(name) равным CALLERID(num).
Изменим этот алгоритм: поле CALLERID(name) будет содержать наименование компании, в которую адресован звонок.
Создадим файл "/etc/asterisk/ext_from-pstn-custom.conf" с содержимым, аналогичным следующему:
[from-pstn-custom]
include => from-pstn-set-callerid-name[from-pstn-set-callerid-name]
exten => _X.,1,GotoIF($[${EXTEN} = XXXXXX]?simnetworks)
exten => _X.,n,GotoIF($[${EXTEN} = YYYYYYYYY]?simnetworks)
exten => _X.,n,GotoIF($[${EXTEN} = ZZZZZZZZZ]?netversor)
exten => _X.,n(dial),Goto(ext-did,${EXTEN},1)
exten => _X.,n(simnetworks),Set(CALLERID(name)=SIM-Networks)
exten => _X.,n,Goto(dial)
exten => _X.,n(netversor),Set(CALLERID(name)=Netversor)
exten => _X.,n,Goto(dial)
Включим данную модификацию в общий план нумерации Elastix в файле "/etc/asterisk/extensions_custom.conf":
#include ext_from-pstn-custom.conf
Теперь внутренний абонент на своем телефоне SIP при поступлении вызова из вне сможет видеть и номер звонящего, и по имени идентифицировать, в какую компанию он звонит.
А что мешает в inbounds trunks заполнить поле CID name prefix ? 🙂
Насколько я понимаю, речь идет про поле "CID name prefix:" в разделе "Inbound Routes": "You can optionally prefix the CallerID name. ie: If you prefix with "Sales:", a call from John Doe would display as "Sales:John Doe" on the extensions that ring."
Не обращал раньше на него внимания. Спасибо. Буду знать 🙂