http://download.sipfoundry.org/pub/temp/sipxbridge-4.4.0-358.gef825.x86_64.rpm

/etc/sipxpbx/sipxbridge.xml

needs

 <enable-strict-protocol-enforcement>false</enable-strict-protocol-enforcement>


On Wed, Feb 8, 2012 at 4:56 PM, Douglas Hubler <[email protected]> wrote:
> SVN is older code than git, so when you see a difference in the form
> of additional code, then chances are the code was added not removed.
> Git is the master copy of all code from 4.0 to 4.6, so RPMs from from
> what is in git if ever there is a doubt.
>
>
> Here's my research
> Step 1.) use git blame to find when the code was added
> git blame 
> sipXbridge/src/main/java/org/sipfoundry/sipxbridge/CallControlManager.java
> ^441acc4 (mardy         2010-04-13 12:17:38 +0000 2287)
> BackToBackUserAgent b2bua =
> dialogContext.getBackToBackUserAgent();b1b875e1 (mranga
> 2010-06-23 20:46:10 +0000 2288)         if (
> Gateway.isStrictProtocolEnforcement() ) {b1b875e1 (mranga
> 2010-06-23 20:46:10 +0000 2289)             if (
> response.getContentLength().getContentLength() == 0 ) {b1b875e1
> (mranga        2010-06-23 20:46:10 +0000 2290)
> logger.error("PROTOCOL ERROR -- Expecting a content length != 0.
> Tearing down cab1b875e1 (mranga        2010-06-23 20:46:10 +0000 2291)
>                 dialogContext.sendAck(response);b1b875e1 (mranga
>  2010-06-23 20:46:10 +0000 2292)
> b2bua.tearDown(Gateway.SIPXBRIDGE_USER,
> ReasonCode.PROTOCOL_ERROR,b1b875e1 (mranga        2010-06-23 20:46:10
> +0000 2293)                 "protocol error - SDP solicitation
> response with 0 length SDP.");b1b875e1 (mranga        2010-06-23
> 20:46:10 +0000 2294)                 return;b1b875e1 (mranga
> 2010-06-23 20:46:10 +0000 2295)             }b1b875e1 (mranga
> 2010-06-23 20:46:10 +0000 2296)         }
>
> Step 2.) With the git sha1 code, find the commit comment
> git show b1b875e1
> commit b1b875e180941e794499b336f2fe31cb23e9ba23Author: mranga
> <mranga@ab1d8caa-1f67-47f1-9e81-24633a41865c>Date:   Wed Jun 23
> 20:46:10 2010 +0000
>     XX-8599: SipXbridge: load testing and memory profiling fixes.
> Include Strict protocol compliance flag.    The following improvements
> have been made:    - Release memory references early to reduce memory
> requirements.    - Fixed a leak under error conditions.    - Load
> tested and make sure there are no leaks under continous operation.
> - Add a flag for SIP protocol compliance ( on by default ).
> git-svn-id: http://sipxecs.sipfoundry.org/rep/sipXecs/branches/4.2@18964
> ab1d8caa-1f67-47f1-9e81-24633a41865c
>
> Step 3.) Check for more description in the tracker (although in this
> case not much info)
> http://track.sipfoundry.org/browse/XX-8599
>
> Step 4.) Come to the conclusion the check in not nec. wrong, just that
> you want to disable this check. Turns out there was never a way added
> to disable in in config parser so I studies the code and made the
> following change.
>
> diff --git a/sipXbridge/schema/sipxbridge.xsd
> b/sipXbridge/schema/sipxbridge.xsdindex 5649fb8..2e96c09 100644---
> a/sipXbridge/schema/sipxbridge.xsd+++
> b/sipXbridge/schema/sipxbridge.xsd@@ -100,6 +100,14 @@
>                        </xs:documentation>
>    </xs:annotation>                        </xs:element>+
>          <xs:element name="enable-strict-protocol-enforcement"
> type="xs:boolean"+                               maxOccurs="1"
> minOccurs="0" default="true">+
> <xs:annotation>+
> <xs:documentation xml:lang="en">+
>          Whether or not bridge is strict about protocol enforcement+
>                                     </xs:documentation>+
>                 </xs:annotation>+                       </xs:element>
>                       <xs:element name="sipx-proxy-domain"
> type="xs:string"                                minOccurs="1"
> maxOccurs="1">                                <xs:annotation>diff
> --git 
> a/sipXbridge/src/main/java/org/sipfoundry/sipxbridge/ConfigurationParser.java
> b/sipXbridge/src/main/java/org/sipfoundry/sipxbridge/Configuratindex
> d73da9f..1ff640b 100644---
> a/sipXbridge/src/main/java/org/sipfoundry/sipxbridge/ConfigurationParser.java+++
> b/sipXbridge/src/main/java/org/sipfoundry/sipxbridge/ConfigurationParser.java@@
> -140,6 +140,9 @@ public class ConfigurationParser {
> digester.addCallMethod(String.format("%s/%s", BRIDGE_CONFIG,
> "enable-bridge-proxy-relay"),
> "setEnableBridgeProxyRelay",0, new Class[] { Boolean.class }); +
>  digester.addCallMethod(String.format("%s/%s", BRIDGE_CONFIG,
> "enable-strict-protocol-enforcement"),+
> "setStrictProtocolEnforcement",0, new Class[] { Boolean.class });+
>     /*          * ITSP configuration support parameters.          */
>
> Step 5.) Build and test rpms.  So yes, you'll need to follow
> instructions for building rpms on wiki.  However,  If you tell me your
> distro, I can email you an rpm and if you acknowledge it's working
> i'll include fix in next build.
>
> On Wed, Feb 8, 2012 at 3:51 PM, W. E. W. Russell <[email protected]> wrote:
>> I just had a question about getting the latest code complied and released in
>> the RPMs.
>>
>> I have been having trouble being able to put calls on hold or transferring
>> them. I've located the issue in the code. The issue seems to be that the
>> latest code isn't being complied into the latest stable RPMs.
>>
>> The two versions are below:
>> The old code is
>> here:   https://github.com/dhubler/sipxecs/blob/release-4.4/sipXbridge/src/main/java/org/sipfoundry/sipxbridge/CallControlManager.java
>>
>> The new code is
>> here:  http://sipxecs.sipfoundry.org/rep/sipXecs/main/sipXbridge/src/main/java/org/sipfoundry/sipxbridge/CallControlManager.java
>>
>> The main difference that is causing my issue is in the
>> method: solicitSdpOfferFromPeerDialogResponse
>>
>> It begins on line 2247 on the GIT site version. You'll have to just do a
>> simple search on the other site to find it, but the key issue is that the
>> following check was removed:
>> ----------------------------------------------------------------
>>
>> if ( Gateway.isStrictProtocolEnforcement() ) {
>>
>>
>>             if ( response.getContentLength().getContentLength() == 0 ) {
>>
>>
>>                 logger.error("PROTOCOL ERROR -- Expecting a content length
>> != 0. Tearing down call! ");
>>
>>
>>                 dialogContext.sendAck(response);
>>
>>
>>                 b2bua.tearDown(Gateway.SIPXBRIDGE_USER,
>> ReasonCode.PROTOCOL_ERROR,
>>
>>
>>                 "protocol error - SDP solicitation response with 0 length
>> SDP.");
>>
>>
>>                 return;
>>
>>
>>             }
>> ----------------------------------------------------------------
>>
>> I can confirm this is the issue because the error I get when the call is
>> dropped is exactly: "protocol error - SDP solicitation response with 0
>> length SDP."
>>
>>
>> The question I have is how can I get an RPM built with this code for 32-bit
>> CentOS 5. Do I have to create my own build environment or is it available?
>>
>>
>> Thanks in advance.
>>
>>
>> Best Regards,
>>
>> William
>>
>> --
>> W. E. W. Russell
>> Director, Systems Intergration at incNETWORKS, Inc.
>> Work Phone # 732-508-2224
>>
>> Active Alumni member of Sigma Lambda Beta International Fraternity, Inc.
>> Cell Phone # 732-744-6483
>>
>>
>>
>> _______________________________________________
>> sipx-dev mailing list
>> [email protected]
>> List Archive: http://list.sipfoundry.org/archive/sipx-dev/
>
>
>
> --
> Join me to talk about sipXecs and the upcoming version 4.6 at
>   CoLab @ CSU  March (5th & 6th).
>      http://www.sipfoundry.org/sipx-colab
> Hack with me on at the CoLab Hackfest.
>   http://wiki.sipfoundry.org/display/sipXecs/2012+sipX-CoLab+Hackfest



-- 
Join me to talk about sipXecs and the upcoming version 4.6 at
  CoLab @ CSU  March (5th & 6th).
     http://www.sipfoundry.org/sipx-colab
Hack with me on at the CoLab Hackfest.
  http://wiki.sipfoundry.org/display/sipXecs/2012+sipX-CoLab+Hackfest
_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev/

Reply via email to