Click-to-call на несколько SIP клиентов с одним номером
В статье идет речь о протоколе PJSIP. Данная функция не поддерживается протоколом SIP.
В данной статье приведён пример настройки диалплана Asterisk для ситуации, когда за одним внутренним номером закреплено несколько SIP-устройств. Например, это могут быть несколько физических телефонов или программных клиентов, использующих одну и ту же учётную запись. Диалплан распределяет вызов все эти устройства при инициализации звонка.
В файл /etc/asterisk/extensions_custom.conf добавляем код ниже
Данные настройки рекомендуется проводить с администратором Asterisk, т.к. они влияют на саму телефонию, а не только на модуль интеграции Itgrix.
Это пример настроек диалплана, разработанный на чистом тестовом сервере. В зависимости от ваших настроек и версии Asterisk, необходимый для корректной работы код может отличаться.
[from-crm-click2call-example]
exten => _X.,1,NoOp(CRM Click2Call to ${EXTEN})
; вызов на все устройства оператора (номер берём из Local/XXX@...)
same => n,Set(CONTACTS=${PJSIP_DIAL_CONTACTS(${CUT(CUT(CHANNEL,/,2),@,1)})})
same => n,GotoIf($["${CONTACTS}"=""]?no_contacts)
same => n,Dial(${CONTACTS},30,g)
; ===== оператор ответил =====
same => n,Set(OPERATOR=${BRIDGEPEER(pjsip,endpoint)})
same => n,NoOp(Answered by operator ${OPERATOR})
; CallerID
same => n,Set(CALLERID(num)=${OPERATOR})
same => n,Set(CALLERID(name)=CRM-Call)
; Звоним клиенту
same => n,Dial(Local/${EXTEN}@from-internal,60)
same => n,Hangup()
exten => _X.,n(no_contacts)
same => n,NoOp(No operator available)
same => n,Hangup()
Обновляем диалплан из консоли
asterisk -rx 'dialplan reload'В настройках модуля интеграции указываем только что созданный контекст

Сохраняем настройки
При звонке кликом из CRM инициация звонка произойдет на всех устройствах подключенных к соответствующему внутреннему номеру.