[asterisk-bugs] [JIRA] (ASTERISK-26432) chan_dahdi: hangup during long TDD sendtext not detected, blocking channel

Nicolas Chapleau (JIRA) noreply at issues.asterisk.org
Mon May 22 18:20:58 CDT 2017


    [ https://issues.asterisk.org/jira/browse/ASTERISK-26432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=237090#comment-237090 ] 

Nicolas Chapleau commented on ASTERISK-26432:
---------------------------------------------

Thanks Richard, surprisingly enough your short explanation really helped me out. I have added the hangup detection code in dahdi_sendtext and have tested it successfully on our servers. Notice that I only defer the HANGUP frame and no other deferrable frames, since we are sending text, the other end should not really be sending anything anyways. The patch was run against version 13.15.1. Feel free to take credit or change the code any way you want. I have signed all documents to submit code.

> chan_dahdi: hangup during long TDD sendtext not detected, blocking channel
> --------------------------------------------------------------------------
>
>                 Key: ASTERISK-26432
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-26432
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Channels/chan_dahdi
>    Affects Versions: 13.11.1
>         Environment: CentOS 6.5
> libpri 1.5.0
> Dahdi 2.11.1
> Asterisk 13.11.2
> wanpipe 7.0.19
> 8 DMS100 PRIs on Sangoma A108DE cards
>            Reporter: Nicolas Chapleau
>         Attachments: chan_dahdi.c.sendtext.13.15.1.patch
>
>
> (peusdo) 
> answer()
> setTDD ( on )
> sendText( "Put a long message to play back on the customers TTY device" )
> When a hangup occurs during the sendtext, I can see the PRI_EVENT_HANGUP_REQ on my PRI span but it is not processed until the sendtext command completes. I have debugged the sendtext command and I see it complete tdd_generate then loop (chan_dahdi.c line 13435) to write the tones while checking for hangup (line 13436), which is NOT detected. 
> Meanwhile, new calls coming into that span get rejected until the sendtext completes, after which I get PRI MDL (f) errors. On busy systems, it will also cause Exceptionally long frame queuing error messages.
> I can easily recreate this by hanging up during the sendtext command and calling back right away. 
> This issue has blocked us from upgrading from 1.4.43 where it does not happen. For now I put a temporary fix in our script to send TDD text one letter at a time which helps but not having sendtext block the span on hangup.



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



More information about the asterisk-bugs mailing list