sdp_mangle_ip(pattern, newip)
sdp_mangle_port(offset)
encode_contact(encoding_prefix)
decode_contact()
decode_contact_header()
sdp_mangle_ip
usagesdp_mangle_port
usageencode_contact
usagedecode_contact
usagedecode_contact_header
usageThis is a module to help with SDP mangling. Still in testing.
The following modules must be loaded before this module:
No dependencies on other SER modules.
The following libraries or applications must be installed before running SER with this module loaded:
None.
First char of this parameter is used as separator for encoding/decoding Contact header.
First char of this field must be set to a value which is not used inside username,password or other fields of contact.Otherwise it is posible for the decoding step to fail/produce wrong results. |
Default value is "*".
then an encoded uri might look sip:user-password-ip-port-protocol@PublicIP
sdp_mangle_ip(pattern, newip)
Changes IP addresses inside SDP package in lines describing connections like c=IN IP4 Currently in only changes IP4 addresses since IP6 probably will not need to traverse NAT :)
The function returns negative on error, or number of replacements + 1.
Meaning of the parameters is as follows:
pattern - A pair ip/mask used to match IP's located inside SDP package in lines c=IN IP4 ip. This lines will only be mangled if located IP is in the network described by this pattern. Examples of valid patterns are "10.0.0.0/255.0.0.0" or "10.0.0.0/8" etc.
newip - A string representing the new IP to be put inside SDP package if old IP address matches pattern.
sdp_mangle_port(offset)
Changes ports inside SDP package in lines describing media like m=audio 13451.
The function returns negative on error, or number of replacements + 1.
Meaning of the parameters is as follows:
offset - A string representing an integer which will be added/substracted from the located port.
encode_contact(encoding_prefix)
This function will encode uri-s inside Contact header in the following manner sip:username:password@ip:port;transport=protocol goes sip:enc_pref*username*ip*port*protocol@public_ip * is the default separator.
The function returns negative on error, 1 on succes.
Meaning of the parameters is as follows:
encoding_prefix - Something to allow us to determine that a contact is encoded publicip--a routable IP,most probably you should put your external IP of your NAT box.
decode_contact()
This function will decode the URI in first line in packets wich come with encoded URI in the following manner sip:enc_pref*username*ip*port*protocol@public_ip goes to sip:username:password@ip:port;transport=protocol It uses the default set parameter for contact encoding separator.
The function returns negative on error, 1 on succes.
Meaning of the parameters is as follows:
decode_contact_header()
This function will decode URIs inside Contact header in the following manner sip:enc_pref*username*ip*port*protocol@public_ip goes to sip:username:password@ip:port;transport=protocol. It uses the default set parameter for contact encoding separator.
The function returns negative on error, 1 on succes.
Meaning of the parameters is as follows:
The module does not provide any sort of API to use in other SER modules.
Take a look at http://iptel.org/ser.
First at all check if your question was already answered on one of our mailing lists:
E-mails regarding any stable version should be sent to <serusers@iptel.org>
and e-mail
regarding development versions or CVS snapshots should be send to <serdev@iptel.org>
.
If you want to keep the mail private, send it to <serhelp@iptel.org>
.
Please follow the guidelines provided at: http://iptel.org/ser/bugs