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/
