> On March 12, 2015, 8:41 p.m., Matt Jordan wrote: > > 1. For this to go into Asterisk 13, tests will need to be provided that > > cover the new parameter. (Really, those tests should be written regardless) > > 2. The CHANGES file will need to get updated with the new option. > > rmudgett wrote: > Actually I'd prefer that the rpid_immediate option not exist at all and > the code it controls to just be removed. Sending connected line updates back > to the caller _before_ getting connected doesn't really make sense. This is > what the REDIRECTING information is supposed to be doing. > > gareth wrote: > I disagree, providing connected line updates pre-answer makes perfect > sense. Why would I want to know the connected-line name only after the call > has been answered? > > That assumes the call even is answered, sending the connected-line > information immediately allows the phone to include the name in it's call > history. > > If no call-forwarding and/or re-addressing has taken place why would > REDIRECTING be used? > > rmudgett wrote: > OK, that makes sense but the code that rpid_immediate controls doesn't. > As described in the review description, that code immediately sends redundant > "180 Ringing" or "183 Progress" messages at best and at worst lies that the > other end is ringing with inaccurate connected line information. > > Matt Jordan wrote: > I'm not sure what this setting is attempting to do then. The description > of the new setting makes it sound like it controls sending connected line > information prior to Answer, which fits gareth's interpretation. Whether or > not it sends multiple 180/183 provisional responses does not seem to be > implied in the description of the setting. > > If setting 'rpid_immediate' to 'yes' still results in extraneous 180/183 > provisional responses, then I'm not sure this patch fixes the underlying > issue. > > rmudgett wrote: > The option does exactly the same thing as chan_sip and will be disabled > by default just like chan_sip. > > When disabled it does not send the extraneous 180/183 messages. The > connected line information simply waits until there is a real reason to send > the 180/183 messages. e.g., Such as when the outgoing channel receives a > 180/183 message. When the outgoing channel receives a 180/183 message, that > message may also contain updated/correct connected line information from the > peer. > > When enabled it sends the connected line update information *immediately* > on a 180/183 message regardless of if the far end has received the call yet > or the connected line information came from the far end. The core may do > some filtering to eliminate an update event if the connected line information > does not change. However, when the peer receives a 180/183 message the > caller will also get the 180/183 message generated because of the > ast_indicate(AST_CONTROL_RINGING/AST_CONTROL_PROGRESS). > > The key word is immediate. I suppose I should sprinkle immediate a few > more times in the option description. I doubt anyone even enables the option > in chan_sip because it is undocumented, disabled by default, and will cause > this odd behaviour when enabled. > > These are the reasons why I think the code the option controls should > just be removed and the option not even exist. The code doesn't really help > and the extraneous 180/183 messages cause problems when enabled.
I have rpid_immediate enabled. I know about the option because I searched through chan_sip.c to find out why RPID updates were not working as expected. Until the SIP protocol gains a "here is the new RPID info" response there is always going to be the problem of piggy-backing that information on a response which already had a meaning. Patch looks fine. - gareth ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4473/#review14669 ----------------------------------------------------------- On March 13, 2015, 5:13 p.m., rmudgett wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/4473/ > ----------------------------------------------------------- > > (Updated March 13, 2015, 5:13 p.m.) > > > Review request for Asterisk Developers. > > > Bugs: ASTERISK-24781 > https://issues.asterisk.org/jira/browse/ASTERISK-24781 > > > Repository: Asterisk > > > Description > ------- > > Incoming PJSIP call legs that have not been answered yet send unnecessary > "180 Ringing" or "183 Progress" messages every time a connected line > update happens. If the outgoing channel is also PJSIP then the incoming > channel will always send a "180 Ringing" or "183 Progress" message when > the outgoing channel sends the INVITE. > > Consequences of these unnecessary messages: > > * The caller can start hearing ringback before the far end even gets the > call. > > * Many phones tend to grab the first connected line information and refuse > to update the display if it changes. The first information is not likely > to be correct if the call goes to an endpoint not under the control of the > first Asterisk box. > > When connected line first went into Asterisk in v1.8, chan_sip received an > undocumented option "rpid_immediate" that defaults to disabled. When > enabled, the option immediately passes connected line update information > to the caller in "180 Ringing" or "183 Progress" messages as described > above. > > * Added "rpid_immediate" option to prevent unnecessary "180 Ringing" or > "183 Progress" messages. The default is "no" to disable sending the > unnecessary messages. > > > Diffs > ----- > > /branches/13/res/res_pjsip/pjsip_configuration.c 432895 > /branches/13/res/res_pjsip.c 432895 > /branches/13/include/asterisk/res_pjsip.h 432895 > /branches/13/configs/samples/pjsip.conf.sample 432895 > /branches/13/channels/chan_pjsip.c 432895 > > Diff: https://reviewboard.asterisk.org/r/4473/diff/ > > > Testing > ------- > > * Ran the tests/channels/pjsip testsuite tests. They still pass. > > * Made a call chain as follows: 100 -> * -> * -> * -> 200. With the patch > there are no unnecessary messages. Without the patch there were several > "180 Ringing" messages sent back to the caller. > > > Thanks, > > rmudgett > >
-- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- asterisk-dev mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-dev