Отправка факсов из Asterisk (с электронной почты на факс) — возможна ли какая-либо обратная связь?

Отправка факсов из Asterisk (с электронной почты на факс) — возможна ли какая-либо обратная связь?

Я собираюсь создать шлюз электронной почты на факс --- какая-нибудь программа на Python сделает этоЗвездочка файлы вызовови поместить их в какую-то очередь (на основе файлов или базы данных).

Затем другая программа должна взять «задачи вызова» из очереди и «скормить» их asterisk (соблюдая некоторый настроенный лимит, поскольку asterisk res_fax_digiumотбросит задачи с превышением лимита).

Далее, предположим, что все отлично и asterisk успешно отправил какой-то факсимильный документ. Какой может быть способ узнать статус этой операции?

Если парсинг лог-файлов — лучший вариант, я бы, наверное, назначил какое-то специальное accountcodeполе (вероятно, я могу поиграть с этим полем) для помещения CDR-записей в отдельные файлы.

Пожалуйста, какие еще способы мне следует оценить?

решение1

Поэтому я отказался от этого подхода и пойду другим путем — AMI, Asterisk Management Interface API.

В двух словах.

Создав такой диалплан:

[01-sendfax]
exten => _X.,1,NoOp()
     same => n,SendFax(${faxfile},f)

Я могу совершать звонки с помощью (используяпист):

res = mgr.originate(
    'SIP/m2000/1234567',
    '1234567',
    context='01-sendfax',
    priority='1',
    caller_id='7654321',
    async=True,
    variables={
        'TRUNK': 'SIP/m2000',
        'faxfile': '/tmp/file.tiff',
    }
)

И установив , я могу прослушивать нужные мне события debug = on:manager.conf

# will catch a status of `originate` call
# (this does not require `debug = on` in `manager.conf`):
mgr.register_event('OriginateResponse', handle_response)

# will catch `SendFax` application's result:
mgr.register_event('FaxStatus', handle_response)

Итак, событие res_fax_digiumсрабатывает FaxStatusпосле SendFaxзавершения.

Связанный контент