[asterisk-bugs] [JIRA] (ASTERISK-17372) [patch] Senddtmf(f) fails with don't know how to indicate condition 9 when using SIP

Joshua Colp (JIRA) noreply at issues.asterisk.org
Tue Dec 19 07:13:08 CST 2017


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

Joshua Colp updated ASTERISK-17372:
-----------------------------------

    Affects Version/s: 13.18.4

> [patch] Senddtmf(f) fails with  don't know how to indicate condition 9 when using SIP
> -------------------------------------------------------------------------------------
>
>                 Key: ASTERISK-17372
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-17372
>             Project: Asterisk
>          Issue Type: Bug
>          Components: Applications/app_senddtmf
>    Affects Versions: 1.8.4, 13.18.4
>            Reporter: Christopher
>            Severity: Minor
>         Attachments: asterisk_1.8.2.3_patch.txt
>
>
> trying to to send a Hookflash DTMF event results in SIP channel failing  with the error sip_indicate: dont know how to indicate condition 9..
> this is when trying to send a Hookflash DTMF event to a Grandstream GXW4104 4 port FXO device  in which DTMF event 16 per RFC2833  will flash the switch hook on the FXO port  of the GXW device...
> ****** STEPS TO REPRODUCE ******
> simply executing the following commands in the asterisk dialplan will induce the error condition:
> exten = s,1,Playback(transfer)
> exten = s,2,SendDTMF(f)
> I have tested this also on 1.6.2.13 and also on 1.4.24  and the condition is the same on those versions of asterisk as well.
> ****** ADDITIONAL INFORMATION ******
> looking at the code in app.c it appears here to send you off to indications if a flash hook is requested..  
>                         if (*ptr == 'f' || *ptr == 'F') {
>                                 /* ignore return values if not supported by channel */
>                                 ast_indicate(chan, AST_CONTROL_FLASH);
>                         } else {
>                                 ast_senddigit(chan, *ptr, duration);
>  
> however this is a DTMF event and should be handled by the DTMF handler and not by the indications  module...  
> since we are using RFC2833 it would go to the RTP handler..  so next up is res_rtp_asterisk.c
> and in there any mention of flash-hook over DTMF as an event  is missing altogether..  so even if the DTMF got this far it would fail in the ast_rtp_begin routine.... 
> to me it looks like this was just an oversight or incomplete feature addition at some point during asterisk's life...  



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



More information about the asterisk-bugs mailing list