Douglas, THANK YOU! It worked! I can put calls on hold and bring them back without dropping the call. I'm having an issue with no audio after I bring it off hold, but I'm looking into that now with a colleague.
Thanks again! It is much appreciated! On Thu, Feb 9, 2012 at 1:35 PM, Douglas Hubler <[email protected]> wrote: > I noticed i had a String class where there should have been a Boolean. > Attached is diff and I uploaded a new rpm. File name is same so you > have to force rpm to install it > > rpm --force -Uvh filename.rpm > > > > On Thu, Feb 9, 2012 at 1:06 PM, W. E. W. Russell <[email protected]> > wrote: > > Douglas, > > > > Thank you! I was able to install it. But the configuration option you > gave > > me cause a failure. Here is the error message I got: > > ----------------------------- > > Alarm Text: Process 'SipXbridge' failed its configuration test. > > org.xml.sax.SAXParseException; systemId: > > file:///etc/sipxpbx/sipxbridge.xml; lineNumber: 25; columnNumber: 83; > Error > > at line 25 char 83: No such accessible method: > > setStrictProtocolEnforcement() on object: > > org.sipfoundry.sipxbridge.BridgeConfiguration > > at > > > org.apache.commons.digester.Digester.createSAXException(Digester.java:3181) > > at > > > org.apache.commons.digester.Digester.createSAXException(Digester.java:3207) > > at > > org.apache.commons.digester.Digester.endElement(Digester.java:1225) > > at > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488) > > at > > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812) > > at > > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741) > > at > > > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) > > at > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208) > > at > > > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525) > > at org.apache.commons.digester.Digester.parse(Digester.java:1745) > > at > > > org.sipfoundry.sipxbridge.ConfigurationParser.createAccountManager(ConfigurationParser.java:321) > > at > > > org.sipfoundry.sipxbridge.Gateway.parseConfigurationFile(Gateway.java:244) > > at org.sipfoundry.sipxbridge.Gateway.main(Gateway.java:1414) > > Caused by: java.lang.NoSuchMethodException: No such accessible > > method: setStrictProtocolEnforcement() on object: > > org.sipfoundry.sipxbridge.BridgeConfiguration > > at > > > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:278) > > at > > org.apache.commons.digester.CallMethodRule.end(CallMethodRule.java:626) > > at org.apache.commons.digester.Rule.end(Rule.java:253) > > at > > org.apache.commons.digester.Digester.endElement(Digester.java:1222) > > ... 14 more > > SipXbridge : Exception caught while running > > log4j:WARN No appenders could be found for logger > > (org.sipfoundry.sipxbridge). > > log4j:WARN Please initialize the log4j system properly. > > org.sipfoundry.sipxbridge.SipXbridgeException: Initialization > > exception > > at > > > org.sipfoundry.sipxbridge.ConfigurationParser.createAccountManager(ConfigurationParser.java:338) > > at > > > org.sipfoundry.sipxbridge.Gateway.parseConfigurationFile(Gateway.java:244) > > at org.sipfoundry.sipxbridge.Gateway.main(Gateway.java:1414) > > Caused by: org.xml.sax.SAXParseException; systemId: > > file:///etc/sipxpbx/sipxbridge.xml; lineNumber: 25; columnNumber: 83; > Error > > at line 25 char 83: No such accessible method: > > setStrictProtocolEnforcement() on object: > > org.sipfoundry.sipxbridge.BridgeConfiguration > > at > > > org.apache.commons.digester.Digester.createSAXException(Digester.java:3181) > > at > > > org.apache.commons.digester.Digester.createSAXException(Digester.java:3207) > > at > > org.apache.commons.digester.Digester.endElement(Digester.java:1225) > > at > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:604) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1759) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2915) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:625) > > at > > > com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:488) > > at > > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:812) > > at > > > com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:741) > > at > > > com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123) > > at > > > com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1208) > > at > > > com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:525) > > at org.apache.commons.digester.Digester.parse(Digester.java:1745) > > at > > > org.sipfoundry.sipxbridge.ConfigurationParser.createAccountManager(ConfigurationParser.java:321) > > ... 2 more > > Caused by: java.lang.NoSuchMethodException: No such accessible > > method: setStrictProtocolEnforcement() on object: > > org.sipfoundry.sipxbridge.BridgeConfiguration > > at > > > org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:278) > > at > > org.apache.commons.digester.CallMethodRule.end(CallMethodRule.java:626) > > at org.apache.commons.digester.Rule.end(Rule.java:253) > > at > > org.apache.commons.digester.Digester.endElement(Digester.java:1222) > > ... 14 more > > Suggested Resolution: Check recent configuration changes. Do not > hand-edit > > configuration files. Check logs for more details. > > ----------------------- > > Maybe there are other RPMs that need to be installed as well? If so, how > can > > I get those? > > > > On Wed, Feb 8, 2012 at 9:08 PM, Douglas Hubler <[email protected]> > wrote: > >> > >> On Wed, Feb 8, 2012 at 6:37 PM, W. E. W. Russell <[email protected]> > >> wrote: > >> > Douglas, > >> > > >> > Thank you for the RPM, but you sent the 64 bit version. Could you send > >> > the > >> > 32-bit one? Thank you! > >> > >> > >> > http://download.sipfoundry.org/pub/temp/sipxbridge-4.4.0-358.gef825.i386.rpm > >> > >> > > >> > > >> > On Wed, Feb 8, 2012 at 6:32 PM, Douglas Hubler <[email protected]> > >> > wrote: > >> >> > >> >> > >> >> > >> >> > 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/ > >> > > >> > > >> > > >> > > >> > -- > >> > 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 > >> _______________________________________________ > >> sipx-dev mailing list > >> [email protected] > >> List Archive: http://list.sipfoundry.org/archive/sipx-dev/ > > > > > > > > > > -- > > 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 > > _______________________________________________ > sipx-dev mailing list > [email protected] > List Archive: http://list.sipfoundry.org/archive/sipx-dev/ > -- 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/
