Получение информации от asterisk (freepbx) по окончании вызова и передача ее в файл php - PullRequest
1 голос
/ 06 августа 2020

Я пытаюсь передать некоторую информацию о вызове в api-скрипт, если на вызов ответили, потребуются следующие переменные:

  1. Идентификатор вызывающего абонента
  2. Время начала вызова
  3. Время завершения вызова
  4. Общая продолжительность вызова
  5. Тип заключения (1 = Завершено, поэтому вызов прошел, 2 = Прерван)
  6. Состояние (если вызов был прерван, состояние «почему», занято, нет ответа, отменено, сбой, голосовая почта)

Идеально было бы сделать это в расширении, например,

exten=> X,1,Wait(1)
exten=> X,2,Set(CallerID=${CALLERID(num)})
exten=> X,3,Dial(number)
exten=> X,4,AGI(api.php?var1=callerid etc...)
exten=> X,5,Hangup()

Любая идея о том, как подойти ко всему этому, будет приветствоваться, даже частично, поскольку я читал много разных результатов Google, но не могу понять этого

PS На сервере установлен FreePBX, так что это не просто- установка кости.

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 07 августа 2020

Можете попробовать запустить свой скрипт после зависания - проверьте, что такое расширение h или обработчики зависания. Лично я предпочитаю следующий способ:

exten=> X,1,Wait(1)
exten=> X,2,Set(CallerID=${CALLERID(num)})
exten=> X,3,Dial(number)
exten=> X,5,Hangup()
exten=> h,1,AGI(api.php?var1=callerid etc...)

https://wiki.asterisk.org/wiki/display/AST/Hangup+Handlers

http://the-asterisk-book.com/1.6/besondere-extensions.html

0 голосов
/ 06 августа 2020

Asterisk имеет odb c хранилище для данных cdr (запись сведений о вызове), см.

https://wiki.asterisk.org/wiki/display/AST/Getting+Asterisk+Connected+to+MySQL+via+ODBC

...