Re: [Opalvoip-user] Hold behavior with Avaya SIP Server
Brought to you by:
csoutheren,
rjongbloed
|
From: Dicke J. (ST-CO/ENG2.2) <Jam...@us...> - 2015-07-27 21:37:22
|
First of all, thank you for the consideration and code update.
I will test the new code. Since I have only tested thus far with the release version of OpenPhone and an old version of OPAL, I will need to check out and build the current OPAL codebase, OpenPhone, and wxWidgets and get each component working. Give me a couple days and I’ll let you know if it fixes the issue.
Best regards / Mit freundlichen Grüßen,
James Dicke
Bosch Security Systems, Inc.
Communications Systems Division
Design Engineer
From: rob...@gm... [mailto:rob...@gm...] On Behalf Of Robert Jongbloed
Sent: Sunday, July 26, 2015 11:00 AM
To: Dicke James (ST-CO/ENG2.2)
Cc: Robert Jongbloed; opa...@li...
Subject: Re: [Opalvoip-user] Hold behavior with Avaya SIP Server
The issue I have with your code:
if (sendStream != NULL && sendStream->IsOpen() && sendStream->IsPaused() && m_holdFromRemote)
{
sending = true
}
is that m_holdFromRemote is true, so we are still on hold from the remote, and should not be sending media to it. Setting the the sending flag to true here, doers not seem correct. I believe it will break the remote setting the local endpoint on hold.
Looking at it again, I think the root cause is that m_holdFromRemote should not be true in the first place. In particular, that flag should only be set if hold indicate is in the offer only. Not in the SDP answer which I was doing.
I have checked in a change (SVN revision: 33760) which I think will behave correctly. I am unable to verify, are you able to try it?
Robert Jongbloed
OPAL/OpenH323/PTLib Architect and Co-founder.
From: Dicke James (ST-CO/ENG2.2)
Sent: Thursday, July 02, 2015 9:57 AM
To: 'Robert Jongbloed'
Cc: opa...@li...<mailto:opa...@li...>
Subject: RE: [Opalvoip-user] Hold behavior with Avaya SIP Server
I had hoped that that was the issue (and even tested it to verify), but it did not solve the problem. Looking at the code, I can see why:
OPAL_OPT_SYMMETRIC_HOLD_PRODUCT is only relevant if the Boolean variable sending is already true, and it is not in this case. It is set to false because sendStream ->IsPaused() returns true.
Secondarily, specifying OPAL_OPT_SYMMETRIC_HOLD_PRODUCT will only set sending to false if not found, and it needs to be true for the OPAL library to specify the sendrecv media attribute in order to properly resume hold.
Thank you and best regards,
James Dicke
Bosch Security Systems, Inc.
Communications Systems Division
Design Engineer
From: rob...@gm...<mailto:rob...@gm...> [mailto:rob...@gm...] On Behalf Of Robert Jongbloed
Sent: Wednesday, July 01, 2015 4:27 PM
To: Dicke James (ST-CO/ENG2.2)
Cc: opa...@li...<mailto:opa...@li...>
Subject: Re: [Opalvoip-user] Hold behavior with Avaya SIP Server
As these sort of problem tend to crop up on certain software, and certain versions of software, there are mechanisms for working around them that do not involve breaking the compliant behaviour.
That scenarios is covered by adding the remote systems name (obtained via User-Agent header) to the OPAL_OPT_SYMMETRIC_HOLD_PRODUCT option string. See documentation in sdpep.h
Is this good enough to solve your problem?
|