Отдавать нужно:
1. Номер того, кто звонит
2. Номер того, кто снял трубку.
3.
Уникальный ID звонка.
Если с 2-м и 3-м параметрами все хорошо, они в макросе
определены, причем определены для конкретного канала, то callerid(num)
неожиданно возвращает номер агента очереди. Вероятно, это выглядит как исходящий
звонок агенту. Но нам нужен callerid(num), который был установлен, когда звонок
поступил в очередь. Делаем в 2 этапа, через так называемые Variable inheritance - https://wiki.asterisk.org/wiki/display/AST/Variable+Inheritance
1.Контекст
очереди:
same => n,Set(_MYCID=${CALLERID(num)})
same =>
n,Queue(free,t,,,1800,,HookCRM)
2.Контекст макроса:
[macro-HookCRM]
exten =>
s,1,Verbose("membername - ${MEMBERNAME},uniqueid - ${UNIQUEID},callerid -
${MYCID}")
same =>
n,Verbose(0,${CURL(http://192.168.0.1/api/call?operator_id=${MEMBERNAME}&call_number=${MYCID}&call_id=${UNIQUEID})})