При входящем звонке сервер Asterisk при помощи компоненты связи вызывает в 1С внешнее событие, в котором среди прочей служебной информации передается и номер звонящего абонента.
[spoiler]
Пакет передаваемый в 1С в общем случае выглядит так:
Event: Dial Privilege: call,all Subevent: Begin Channel: SIP/mangotrunk-0000016c Destination: SIP/261-0000016d Calleridnum: 74997623634 Calleridname: 74997623634 Uniqueid: 1324068645.605 Destuniqueid: 1324068650.606 Dialstring: 261 |
В то время как Asterisk занимается маршрутизацией звонка, в 1С мы по номеру телефона переданного в параметреCalleridnum: 74997623634 находим в базе контрагента ООО "Василек". На поиски уходят доли секунды, и во время первого звонка на телефонном аппарате, в 1С уже известно кто сейчас набрал наш номер. Мы можем просмотреть отчет о задолженности, подробную контактную информацию, какие-то другие важные сведения еще до поднятия трубки.
Пользователь 1С снимает трубку и начинает разговор с контрагентом ООО "Василек", и в тот же момент открывается документ "Событие" с заполненным полем контрагент. А если в скрытом реквизите запомнить уникальный идентификатор звонка Uniqueid: 1324068645.605, то в будущем мы всегда сможем прослушать запись разговора сохраненную на сервере Asterisk.