Задать вопрос
@AaronHuston

Почему Asterisk считает сброшенный звонок за принятый?

написал скрипт на Python, который с помощью Asterisk AMI собирает события. Второй день пытаюсь разобраться в следующей проблеме:
Любые события, кроме сброса звонка абонентом приходят корректно, но при сбросе приходит 'DialEnd... ANSWER', после чего у меня в пустоту проигрывается аудиофайл и завершается звонок, и на деле происходит так, будто абонент берет трубку, полностью прослушал запись и тогда заканчивается соединение. Мне нужно при сбросе получить HANGUP с cause code 21 (Call Rejected), как я понимаю. Подскажите куда копать?

Диалплан и код вызова звонка
Диалплан
[debt_autodial]
exten => _8XXXXXXXXXX,1,Dial(SIP/0123456789/${EXTEN},60)
exten => _8XXXXXXXXXX,n,NoOp(Call ended with status: &{DIALSTATUS})
exten => _8XXXXXXXXXX,n,Hangup

[debt_autoinform]
exten => 2222,1,NoOp(Starting call)
same => n,UserEvent(CallHasStarted,UniqueId: ${UNIQUEID})
same => n,Answer
same => n,UserEvent(CallWasAnswered,UniqueId: ${UNIQUEID})
same => n,Wait(1)
same => n,Playback(/home/abc/debt_audio)
same => n,NoOp(Ending call)
same => n,Hangup()

exten => h,1,NoOp(Call was hung up)
same => n,UserEvent(CallWasHungUp,UniqueId: ${UNIQUEID})


Action Asterisk AMI для вызова звонка
def make_call(phone_number):
    action = SimpleAction(
    'Originate',
    Channel='Local/' + phone_number + '@debt_autodial',
    Context='debt_autoinform',
    Exten='2222',
    Priority=1,
    Timeout=30000,
    Callerid='2222',
    Async=True  
)


logger.conf
console => notice,warning,error,dtmf
messages => notice,warning,error
full => notice,warning,error,debug,verbose,dtmf,fax
events => verbose,notice,warning,error

  • Вопрос задан
  • 240 просмотров
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@AaronHuston Автор вопроса
Заметил особенность: используемый sip от билайна и при звонке на номера билайна, всё работает как надо, но на других операторов происходит то, что описываю в проблеме. Может быть настройки sip'а такими?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы