[asterisk-bugs] [JIRA] (ASTERISK-25563) Channel Hangup after DTMF during Playback

Richard Mudgett (JIRA) noreply at issues.asterisk.org
Mon Nov 16 12:39:32 CST 2015


     [ https://issues.asterisk.org/jira/browse/ASTERISK-25563?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Richard Mudgett updated ASTERISK-25563:
---------------------------------------

    Description: 
We have an Adhearsion based AGI application.
In Adheasion we use the function menu that starts the playback function in asterisk.
If we send a dtmf to the channel during the playback, the normal behavior should be that asterisk stops the playback an continues the agi application. but we get a hangup on the channel.

extensions.conf:
{noformat}
[from_sip]
exten => 777,1,NoOp(Extension: ${EXTEN})
exten => 777,2,Set(AGI_HOST=127.0.0.1)
exten => 777,3,Goto(menu_test,${EXTEN},1) 

[menu_test]
exten => _777,1,AGI(agi:async)  
{noformat}

adhearsion dialplan:
{noformat}
class TestController < Adhearsion::CallController

  def run

    answer

    # menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :limit => 1, :timeout => 5.seconds do
    menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :terminator => '#' do
      match [1, 2, 3] do |dial|
        logger.info "Caller pressed #{dial}"
      end
    end

    play 'file://vm-pls-try-again'

    #####################################
    # this menu is never audible
    #####################################
    menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :limit => 1 do
      match [1, 2, 3] do |dial|
        logger.info "Caller pressed #{dial}"
      end
    end

    hangup

  end
end
{noformat}

{noformat}
SIP/111 dials 777 ---> 777 at from_sip ---> 777 at menu_test ---> AGI ---> menu (adhearsion) ---> Playback(asterisk) ---> dtmf to channel ---> hangup
{noformat}

We did a tcpdump and found out that adhearsion is not sending the hangup request to asterisk. So we think asterisk clears the call on its own.

We have already opened an issue on the adhearsion bug tracker: https://github.com/adhearsion/adhearsion-asr/issues/29 
The Adhearsion developement team also thinks that asterisk clears the call by itself.

debug logs follow...


  was:
We have an Adhearsion based AGI application.
In Adheasion we use the function menu that starts the playback function in asterisk.
If we send a dtmf to the channel during the playback, the normal behavior should be that asterisk stops the playback an continues the agi application. but we get a hangup on the channel.

extensions.conf:
[from_sip]
exten => 777,1,NoOp(Extension: ${EXTEN})
exten => 777,2,Set(AGI_HOST=127.0.0.1)
exten => 777,3,Goto(menu_test,${EXTEN},1) 

[menu_test]
exten => _777,1,AGI(agi:async)  

adhearsion dialplan:
class TestController < Adhearsion::CallController

  def run

    answer

    # menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :limit => 1, :timeout => 5.seconds do
    menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :terminator => '#' do
      match [1, 2, 3] do |dial|
        logger.info "Caller pressed #{dial}"
      end
    end

    play 'file://vm-pls-try-again'

    #####################################
    # this menu is never audible
    #####################################
    menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :limit => 1 do
      match [1, 2, 3] do |dial|
        logger.info "Caller pressed #{dial}"
      end
    end

    hangup

  end
end

SIP/111 dials 777 ---> 777 at from_sip ---> 777 at menu_test ---> AGI ---> menu (adhearsion) ---> Playback(asterisk) ---> dtmf to channel ---> hangup

We did a tcpdump and found out that adhearsion is not sending the hangup request to asterisk. So we think asterisk clears the call on its own.

We have already opened an issue on the adhearsion bug tracker: https://github.com/adhearsion/adhearsion-asr/issues/29 
The Adhearsion developement team also thinks that asterisk clears the call by itself.

debug logs follow...



> Channel Hangup after DTMF during Playback
> -----------------------------------------
>
>                 Key: ASTERISK-25563
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-25563
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Applications/app_playback, Resources/res_agi
>    Affects Versions: 13.4.0, 13.6.0
>         Environment: CentOS 7 in KVM Virtual Machine
>            Reporter: Martin Vogt
>         Attachments: debug9_25563.txt
>
>
> We have an Adhearsion based AGI application.
> In Adheasion we use the function menu that starts the playback function in asterisk.
> If we send a dtmf to the channel during the playback, the normal behavior should be that asterisk stops the playback an continues the agi application. but we get a hangup on the channel.
> extensions.conf:
> {noformat}
> [from_sip]
> exten => 777,1,NoOp(Extension: ${EXTEN})
> exten => 777,2,Set(AGI_HOST=127.0.0.1)
> exten => 777,3,Goto(menu_test,${EXTEN},1) 
> [menu_test]
> exten => _777,1,AGI(agi:async)  
> {noformat}
> adhearsion dialplan:
> {noformat}
> class TestController < Adhearsion::CallController
>   def run
>     answer
>     # menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :limit => 1, :timeout => 5.seconds do
>     menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :terminator => '#' do
>       match [1, 2, 3] do |dial|
>         logger.info "Caller pressed #{dial}"
>       end
>     end
>     play 'file://vm-pls-try-again'
>     #####################################
>     # this menu is never audible
>     #####################################
>     menu %w(file://vm-press file://vm-first file://vm-for file://vm-password), :limit => 1 do
>       match [1, 2, 3] do |dial|
>         logger.info "Caller pressed #{dial}"
>       end
>     end
>     hangup
>   end
> end
> {noformat}
> {noformat}
> SIP/111 dials 777 ---> 777 at from_sip ---> 777 at menu_test ---> AGI ---> menu (adhearsion) ---> Playback(asterisk) ---> dtmf to channel ---> hangup
> {noformat}
> We did a tcpdump and found out that adhearsion is not sending the hangup request to asterisk. So we think asterisk clears the call on its own.
> We have already opened an issue on the adhearsion bug tracker: https://github.com/adhearsion/adhearsion-asr/issues/29 
> The Adhearsion developement team also thinks that asterisk clears the call by itself.
> debug logs follow...



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list