Summary:ASTERISK-03123: "Hold" implementation on Asterisk does not comply with www.ietf.org/internet-drafts/draft-ietf-sipping-service-examples-07.txt
Reporter:gosha (gosha)Labels:
Date Opened:2004-12-29 08:14:58.000-0600Date Closed:2008-01-15 15:19:31.000-0600
Versions:Frequency of
Environment:Attachments:( 0) extensions.conf
( 1) mydiff.txt
( 2) sip.conf
( 3) SP5004_hold_problem.dump
Description:If "Flash" key is pressed on phone connected to Micronet SP5004/S VoIP gateway during a call, the SP5004/S sends "INVITE" message to Asterisk with a=sendonly indicated in SDP field. Asterisk sends to SP5004/S the "200 OK" message. However Asterisk does not send anything to the party, which have put on Hold. So "holded" party continues to send RTP packets to SP5004/S.


Testing conditions.
Subscribers SP5004p1 with telephone number 1001 (on Micronet SP5004/S VoIP gateway) and ata_sip_1 with number 1002 (on gateway Cisco ATA 186) are registered on Asterisk.

Testing process.
1. ata_sip_1 subscriber makes a call to SP5004p1 subscriber, and they start to talk.
2. SP5004p1 subscriber presses a "Flash" key. The gateway processes pressing "Flash" key pressing and sends to Asterisk INVITE message with value a=sendonly in SDP field.
3. Asterisk sends "200 OK" message to SP5004/S gateway. However Asterisk does not send any messages to ATA 186 adapter. Therefore ATA 186 adapter does not know that it has put on hold, and still sends RTP packets to SP5004/S gateway.

The call trace captured by "Ethereal" program (www.ethereal.com) is in the "SP5004_hold_problem.dump" file.
Comments:By: Olle Johansson (oej) 2004-12-29 08:19:14.000-0600

Well, a draft is not even close to RFC status. Even an RFC is very often not close to Internet Standard :-)

We *do* support the older way, with SDP to, but that doesn't help this device I suppose...

By: Olle Johansson (oej) 2004-12-29 08:20:13.000-0600

CAn you please add SIP debug output of the complete transaction? It is required by the bug guidelines...

By: Mark Spencer (markster) 2004-12-29 08:31:27.000-0600

Duh, obviously not major since (a) it's a draft and (b) it works with virtually every other phone out there!

By: Mark Spencer (markster) 2004-12-29 08:40:53.000-0600

Please try latest CVS head and see if that works for you.

By: Mark Spencer (markster) 2004-12-29 21:04:23.000-0600

hello *taps on monitor* please try latest CVS and let me know if that fixed it.  Thanks.

By: gosha (gosha) 2004-12-30 08:49:41.000-0600

Thank you very much for your work. The Asterisk version CVS-HEAD-12/30/04-15:27:24 has solved "Hold" problem.

By: Olle Johansson (oej) 2004-12-30 08:53:41.000-0600

Fixed in CVS. Good fix for stable as well, isn't it?

By: Russell Bryant (russell) 2005-01-02 20:31:08.000-0600

fixed in 1.0

By: Digium Subversion (svnbot) 2008-01-15 15:18:44.000-0600

Repository: asterisk
Revision: 4589

U   trunk/channels/chan_sip.c

r4589 | markster | 2008-01-15 15:18:43 -0600 (Tue, 15 Jan 2008) | 2 lines

Stop transmission when sendonly is set (bug ASTERISK-3123)



By: Digium Subversion (svnbot) 2008-01-15 15:19:31.000-0600

Repository: asterisk
Revision: 4643

U   branches/v1-0/channels/chan_sip.c

r4643 | russell | 2008-01-15 15:19:31 -0600 (Tue, 15 Jan 2008) | 2 lines

stop sending rtp when on hold (bug ASTERISK-3123)