Difference between revisions of "SigComp Support"

From reSIProcate
Jump to navigation Jump to search
 
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
As of SVN version 6728, the resip stack can make use of the [http://www.opensigcomp.org/ Open SigComp] library to support SigComp compression.
+
As of SVN version 6728, the resiprocate stack can make use of the [http://www.opensigcomp.org/ Open SigComp] library to support SigComp compression.
  
 
To make use of this, you must first [http://www.opensigcomp.org/download.html download the Open SigComp library] (version 0.9.3 or later), compile it, and install it. By default, the library installs in /usr/local (which typically requires root permission). If you want to install elsewhere, edit the Makefile in the src directory of Open SigComp. (A future release of Open SigComp will likely include a configuration system to automate these kinds of options).
 
To make use of this, you must first [http://www.opensigcomp.org/download.html download the Open SigComp library] (version 0.9.3 or later), compile it, and install it. By default, the library installs in /usr/local (which typically requires root permission). If you want to install elsewhere, edit the Makefile in the src directory of Open SigComp. (A future release of Open SigComp will likely include a configuration system to automate these kinds of options).
Line 5: Line 5:
 
:''Note that Open SigComp is licensed under the GPL, with a specific exemption for the resiprocate library itself. If you link Open SigComp into any application, even if such linking is done via resiprocate, then the application must adhere to the GPL as well. See the [http://www.opensigcomp.org/license.html Open SigComp Licensing Page] for more information.''
 
:''Note that Open SigComp is licensed under the GPL, with a specific exemption for the resiprocate library itself. If you link Open SigComp into any application, even if such linking is done via resiprocate, then the application must adhere to the GPL as well. See the [http://www.opensigcomp.org/license.html Open SigComp Licensing Page] for more information.''
  
Next, run resiprocate's configure script, and ensure that you answer "yes" to the question regarding SigComp support. You'll be prompted for the location in which the library was installed.
+
Next, run resiprocate's configure script, and ensure that you answer "yes" to the question regarding SigComp support. You'll be prompted for the location in which the Open SigComp library was installed.
  
Applications that wish to make use of SigComp compression msut create a Compression object, which is then passed to the stack constructor as its sixth argument. For example:
+
Applications that wish to make use of SigComp compression first create a Compression object, which is then passed to the stack constructor as its sixth argument. For example:
  
 
  security = new Security(certpath);
 
  security = new Security(certpath);
Line 13: Line 13:
 
  SipStack stack(security,DnsStub::EmptyNameserverList,0,false,0,compression);
 
  SipStack stack(security,DnsStub::EmptyNameserverList,0,false,0,compression);
  
If the stack is constructed with a compression configuration object, it will signal support for SigComp in contact URIs and via header fields, using the syntax described in RFC 3486. It also will use the techniques described in [http://www.ietf.org/internet-drafts/draft-ietf-rohc-sigcomp-sip-03.txt draft-ietf-rohc-sigcomp-sip] for compartment identification.
+
If the resiprocate stack is constructed with a compression configuration object, it will signal support for SigComp in contact URIs and via header fields, using the syntax described in RFC 3486. It also will use the techniques described in [http://www.ietf.org/internet-drafts/draft-ietf-rohc-sigcomp-sip-04.txt draft-ietf-rohc-sigcomp-sip] for compartment identification.
  
 
In particular, if the URI used to route a request contains a "comp=sigcomp" parameter, then the stack will compress it before sending. Similarly, if the topmost via header field in a response contains a "comp=sigcomp" parameter, then it will be sent compressed.
 
In particular, if the URI used to route a request contains a "comp=sigcomp" parameter, then the stack will compress it before sending. Similarly, if the topmost via header field in a response contains a "comp=sigcomp" parameter, then it will be sent compressed.
  
While the stack integration has been fairly well tested to ensure that it does not interfere with normal operation, the use of the SigComp stack in conjunction with resip is still somewhat experimental. If you encounter issues with either the SigComp stack or its integration into resip, please contact [mailto:bugs@opensigcomp.org bugs@opensigcomp.org].
+
While the stack integration has been fairly well tested to ensure that it does not interfere with normal operation, the use of the SigComp stack in conjunction with resiprocate is still somewhat experimental. If you encounter '''''bugs''''' with either the SigComp stack or its integration into resiprocate, please contact [mailto:bugs@opensigcomp.org bugs@opensigcomp.org]. ''This address is not for general discussion, questions, or other support'' -- discussion of the SigComp stack should take place on the [http://www.opensigcomp.org/mailman/listinfo/osc-dev Open SigComp Developers' Mailing List], while discussion of its integration into resiprocate should take place on the [https://list.resiprocate.org/mailman/listinfo/resiprocate-devel Resiprocate Developers' Mailing List].

Latest revision as of 09:15, 7 February 2007

As of SVN version 6728, the resiprocate stack can make use of the Open SigComp library to support SigComp compression.

To make use of this, you must first download the Open SigComp library (version 0.9.3 or later), compile it, and install it. By default, the library installs in /usr/local (which typically requires root permission). If you want to install elsewhere, edit the Makefile in the src directory of Open SigComp. (A future release of Open SigComp will likely include a configuration system to automate these kinds of options).

Note that Open SigComp is licensed under the GPL, with a specific exemption for the resiprocate library itself. If you link Open SigComp into any application, even if such linking is done via resiprocate, then the application must adhere to the GPL as well. See the Open SigComp Licensing Page for more information.

Next, run resiprocate's configure script, and ensure that you answer "yes" to the question regarding SigComp support. You'll be prompted for the location in which the Open SigComp library was installed.

Applications that wish to make use of SigComp compression first create a Compression object, which is then passed to the stack constructor as its sixth argument. For example:

security = new Security(certpath);
compression = new Compression(Compression::DEFLATE);
SipStack stack(security,DnsStub::EmptyNameserverList,0,false,0,compression);

If the resiprocate stack is constructed with a compression configuration object, it will signal support for SigComp in contact URIs and via header fields, using the syntax described in RFC 3486. It also will use the techniques described in draft-ietf-rohc-sigcomp-sip for compartment identification.

In particular, if the URI used to route a request contains a "comp=sigcomp" parameter, then the stack will compress it before sending. Similarly, if the topmost via header field in a response contains a "comp=sigcomp" parameter, then it will be sent compressed.

While the stack integration has been fairly well tested to ensure that it does not interfere with normal operation, the use of the SigComp stack in conjunction with resiprocate is still somewhat experimental. If you encounter bugs with either the SigComp stack or its integration into resiprocate, please contact bugs@opensigcomp.org. This address is not for general discussion, questions, or other support -- discussion of the SigComp stack should take place on the Open SigComp Developers' Mailing List, while discussion of its integration into resiprocate should take place on the Resiprocate Developers' Mailing List.