[asterisk-bugs] [Asterisk 0017506]: MSG_OOB flag on HANGUP packet misused
Asterisk Bug Tracker
noreply at bugs.digium.com
Tue Jun 15 11:04:10 CDT 2010
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=17506
======================================================================
Reported By: brycebaril
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 17506
Category: Resources/res_agi
Reproducibility: always
Severity: minor
Priority: normal
Status: feedback
Asterisk Version: Older 1.6.2 - please test a newer version
JIRA:
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2010-06-14 15:51 CDT
Last Modified: 2010-06-15 11:04 CDT
======================================================================
Summary: MSG_OOB flag on HANGUP packet misused
Description:
When using fast AGI and the AGISIGHUP flag is enabled, Asterisk sends an
Out-of-Band "HANGUP\n" packet when the channel is terminated. It uses the
MSG_OOB flag to send it URG/Out-of-Band via TCP.
This TCP feature is generally not used and not reliable (e.g.
http://en.wikipedia.org/wiki/Transmission_Control_Protocol#Out_of_band_data
) and in this case will cause only the "\n" character to be sent OOB. The
"HANGUP" is still sent in-band, and can cause buffering issues --
especially with the "\n" being sent in a different band.
Even if the developer sets socket options to get the OOB data in-band, the
"\n" will come in prior to the "HANGUP" because it is a higher priority.
I suggest dropping the "MSG_OOB" flag from this packet, as it doesn't seem
to do any good, and possibly only does harm.
======================================================================
----------------------------------------------------------------------
(0123419) brycebaril (reporter) - 2010-06-15 11:04
https://issues.asterisk.org/view.php?id=17506#c123419
----------------------------------------------------------------------
This is not my observation.
When I read the data off the socket I see exactly 6 bytes, and they are
"HANGUP"
If I alter my socket like so:
setsockopt($agi_socket, SOL_SOCKET, SO_OOBINLINE, 1);
I receive a new message on the socket, 1 byte: "\n"
The next message on the socket is: 6 bytes "HANGUP"
So far I have been unable to get SIGURG to be triggered by this message.
Issue History
Date Modified Username Field Change
======================================================================
2010-06-15 11:04 brycebaril Note Added: 0123419
======================================================================
More information about the asterisk-bugs
mailing list