Browse Source

siputils: docs for sip_p_charging_vector() function

Daniel-Constantin Mierla 9 years ago
parent
commit
745e79d030
2 changed files with 65 additions and 33 deletions
  1. 45 33
      modules/siputils/README
  2. 20 0
      modules/siputils/doc/siputils_admin.xml

+ 45 - 33
modules/siputils/README

@@ -32,15 +32,11 @@ Edited by
 
 
 Jan Janak
 Jan Janak
 
 
-Edited by
-
 Bogdan-Andrei Iancu
 Bogdan-Andrei Iancu
 
 
-Edited by
-
 Gabriel Vasile
 Gabriel Vasile
 
 
-   Copyright (c) 2008, 2005, 2003 1&1 Internet AG, FhG Fokus, Voice Sistem
+   Copyright © 2008, 2005, 2003 1&1 Internet AG, FhG Fokus, Voice Sistem
    SRL
    SRL
      __________________________________________________________________
      __________________________________________________________________
 
 
@@ -96,6 +92,7 @@ Gabriel Vasile
               4.26. is_gruu([uri])
               4.26. is_gruu([uri])
               4.27. is_supported(option)
               4.27. is_supported(option)
               4.28. is_first_hop()
               4.28. is_first_hop()
+              4.29. sip_p_charging_vector(flags)
 
 
    List of Examples
    List of Examples
 
 
@@ -136,6 +133,7 @@ Gabriel Vasile
    1.35. is_gruu() usage
    1.35. is_gruu() usage
    1.36. is_supported() usage
    1.36. is_supported() usage
    1.37. is_first_hop() usage
    1.37. is_first_hop() usage
+   1.38. sip_p_charging_vector() usage
 
 
 Chapter 1. Admin Guide
 Chapter 1. Admin Guide
 
 
@@ -189,6 +187,7 @@ Chapter 1. Admin Guide
         4.26. is_gruu([uri])
         4.26. is_gruu([uri])
         4.27. is_supported(option)
         4.27. is_supported(option)
         4.28. is_first_hop()
         4.28. is_first_hop()
+        4.29. sip_p_charging_vector(flags)
 
 
 1. Overview
 1. Overview
 
 
@@ -392,8 +391,9 @@ modparam("auth", "rpid_avp", "$avp(myrpid)")
    4.26. is_gruu([uri])
    4.26. is_gruu([uri])
    4.27. is_supported(option)
    4.27. is_supported(option)
    4.28. is_first_hop()
    4.28. is_first_hop()
+   4.29. sip_p_charging_vector(flags)
 
 
-4.1.  ring_insert_callid()
+4.1. ring_insert_callid()
 
 
    Inserting the call-id in the internal list, which is checked when
    Inserting the call-id in the internal list, which is checked when
    further replies arrive. Any 183 reply that is received during the
    further replies arrive. Any 183 reply that is received during the
@@ -410,7 +410,7 @@ modparam("auth", "rpid_avp", "$avp(myrpid)")
 ring_insert_callid();
 ring_insert_callid();
 ...
 ...
 
 
-4.2.  options_reply()
+4.2. options_reply()
 
 
    This function checks if the request method is OPTIONS and if the
    This function checks if the request method is OPTIONS and if the
    request URI does not contain an username. If both is true the request
    request URI does not contain an username. If both is true the request
@@ -438,7 +438,7 @@ if (uri==myself) {
 }
 }
 ...
 ...
 
 
-4.3.  is_user(username)
+4.3. is_user(username)
 
 
    Check if the username in credentials matches the given username.
    Check if the username in credentials matches the given username.
 
 
@@ -454,7 +454,7 @@ if (is_user("john")) {
 };
 };
 ...
 ...
 
 
-4.4.  has_totag()
+4.4. has_totag()
 
 
    Check if To header field uri contains tag parameter.
    Check if To header field uri contains tag parameter.
 
 
@@ -467,7 +467,7 @@ if (has_totag()) {
 };
 };
 ...
 ...
 
 
-4.5.  uri_param(param)
+4.5. uri_param(param)
 
 
    Find if Request URI has a given parameter with no value
    Find if Request URI has a given parameter with no value
 
 
@@ -483,7 +483,7 @@ if (uri_param("param1")) {
 };
 };
 ...
 ...
 
 
-4.6.  uri_param(param,value)
+4.6. uri_param(param,value)
 
 
    Find if Request URI has a given parameter with matching value
    Find if Request URI has a given parameter with matching value
 
 
@@ -500,7 +500,7 @@ if (uri_param("param1","value1")) {
 };
 };
 ...
 ...
 
 
-4.7.  add_uri_param(param)
+4.7. add_uri_param(param)
 
 
    Add to RURI a parameter (name=value);
    Add to RURI a parameter (name=value);
 
 
@@ -514,7 +514,7 @@ if (uri_param("param1","value1")) {
 add_uri_param("nat=yes");
 add_uri_param("nat=yes");
 ...
 ...
 
 
-4.8.  get_uri_param(name, var)
+4.8. get_uri_param(name, var)
 
 
    Get the value of RURI parameter.
    Get the value of RURI parameter.
 
 
@@ -529,7 +529,7 @@ add_uri_param("nat=yes");
 get_uri_param("nat", "$var(nat)");
 get_uri_param("nat", "$var(nat)");
 ...
 ...
 
 
-4.9.  tel2sip(uri, hostpart, result)
+4.9. tel2sip(uri, hostpart, result)
 
 
    Converts URI in first param (pseudo variable or string) to SIP URI, if
    Converts URI in first param (pseudo variable or string) to SIP URI, if
    it is a tel URI. If conversion was done, writes resulting SIP URI to
    it is a tel URI. If conversion was done, writes resulting SIP URI to
@@ -561,7 +561,7 @@ tel2sip("$ru", $fd", "$ru");
 # $ru:  sip:+12345678;ext=200;[email protected];user=phone
 # $ru:  sip:+12345678;ext=200;[email protected];user=phone
 ...
 ...
 
 
-4.10.  is_e164(pseudo-variable)
+4.10. is_e164(pseudo-variable)
 
 
    Checks if string value of pseudo variable argument is an E164 number.
    Checks if string value of pseudo variable argument is an E164 number.
 
 
@@ -579,7 +579,7 @@ if (is_e164("$avp(i:705)") {
 };
 };
 ...
 ...
 
 
-4.11.  is_uri_user_e164(pseudo-variable)
+4.11. is_uri_user_e164(pseudo-variable)
 
 
    Checks if userpart of URI stored in pseudo variable is E164 number.
    Checks if userpart of URI stored in pseudo variable is E164 number.
 
 
@@ -596,7 +596,7 @@ if (is_uri_user_e164("$avp(i:705)") {
 };
 };
 ...
 ...
 
 
-4.12.  is_tel_number(tval)
+4.12. is_tel_number(tval)
 
 
    Checks if the parameter value is a telephone number: starting with one
    Checks if the parameter value is a telephone number: starting with one
    optional +, followed by digits. The parameter can include variables.
    optional +, followed by digits. The parameter can include variables.
@@ -613,7 +613,7 @@ if (is_tel_number("+24242424") {
 }
 }
 ...
 ...
 
 
-4.13.  is_numeric(tval)
+4.13. is_numeric(tval)
 
 
    Checks if the parameter value consists solely of decimal digits. The
    Checks if the parameter value consists solely of decimal digits. The
    parameter can include variables.
    parameter can include variables.
@@ -627,7 +627,7 @@ if (is_numeric($rU)) {  # Test if R-URI user consists of decimal digits
 }
 }
 ...
 ...
 
 
-4.14.  encode_contact(encoding_prefix,hostpart)
+4.14. encode_contact(encoding_prefix,hostpart)
 
 
    This function will encode uri-s inside Contact header in the following
    This function will encode uri-s inside Contact header in the following
    manner sip:username:password@ip:port;transport=protocol goes
    manner sip:username:password@ip:port;transport=protocol goes
@@ -654,7 +654,7 @@ if (is_numeric($rU)) {  # Test if R-URI user consists of decimal digits
 if (src_ip == 10.0.0.0/8) encode_contact("natted_client","1.2.3.4");
 if (src_ip == 10.0.0.0/8) encode_contact("natted_client","1.2.3.4");
 ...
 ...
 
 
-4.15.  decode_contact()
+4.15. decode_contact()
 
 
    This function will decode the request URI. If the RURI is in the format
    This function will decode the request URI. If the RURI is in the format
    sip:encoding_prefix*username*ip*port*protocol@hostpart it will be
    sip:encoding_prefix*username*ip*port*protocol@hostpart it will be
@@ -672,7 +672,7 @@ if (src_ip == 10.0.0.0/8) encode_contact("natted_client","1.2.3.4");
 if (uri =~ "^sip:natted_client") { decode_contact(); }
 if (uri =~ "^sip:natted_client") { decode_contact(); }
 ...
 ...
 
 
-4.16.  decode_contact_header()
+4.16. decode_contact_header()
 
 
    This function will decode URIs inside Contact header. If the URI in the
    This function will decode URIs inside Contact header. If the URI in the
    format sip:encoding_prefix*username*ip*port*protocol@hostpart it will
    format sip:encoding_prefix*username*ip*port*protocol@hostpart it will
@@ -694,7 +694,7 @@ reply_route[2] {
 }
 }
 ...
 ...
 
 
-4.17.  cmp_uri(str1, str2)
+4.17. cmp_uri(str1, str2)
 
 
    The function returns true if the two parameters matches as SIP URI.
    The function returns true if the two parameters matches as SIP URI.
 
 
@@ -708,7 +708,7 @@ if(cmp_uri("$ru", "sip:[email protected]"))
 }
 }
 ...
 ...
 
 
-4.18.  cmp_aor(str1, str2)
+4.18. cmp_aor(str1, str2)
 
 
    The function returns true if the two parameters matches as AoR. The
    The function returns true if the two parameters matches as AoR. The
    parameters have to be SIP URIs.
    parameters have to be SIP URIs.
@@ -723,7 +723,7 @@ if(cmp_aor("[email protected]", "sip:kamailio@$fd"))
 }
 }
 ...
 ...
 
 
-4.19.  append_rpid_hf()
+4.19. append_rpid_hf()
 
 
    Appends to the message a Remote-Party-ID header that contains header
    Appends to the message a Remote-Party-ID header that contains header
    'Remote-Party-ID: ' followed by the saved value of the SIP URI received
    'Remote-Party-ID: ' followed by the saved value of the SIP URI received
@@ -739,7 +739,7 @@ if(cmp_aor("[email protected]", "sip:kamailio@$fd"))
 append_rpid_hf();  # Append Remote-Party-ID header field
 append_rpid_hf();  # Append Remote-Party-ID header field
 ...
 ...
 
 
-4.20.  append_rpid_hf(prefix, suffix)
+4.20. append_rpid_hf(prefix, suffix)
 
 
    This function is the same as Section 4.19, " append_rpid_hf()". The
    This function is the same as Section 4.19, " append_rpid_hf()". The
    only difference is that it accepts two parameters--prefix and suffix to
    only difference is that it accepts two parameters--prefix and suffix to
@@ -764,7 +764,7 @@ append_rpid_hf();  # Append Remote-Party-ID header field
 append_rpid_hf("", ";party=calling;id-type=subscriber;screen=yes");
 append_rpid_hf("", ";party=calling;id-type=subscriber;screen=yes");
 ...
 ...
 
 
-4.21.  is_rpid_user_e164()
+4.21. is_rpid_user_e164()
 
 
    The function checks if the SIP URI received from the database or radius
    The function checks if the SIP URI received from the database or radius
    server and will potentially be used in Remote-Party-ID header field
    server and will potentially be used in Remote-Party-ID header field
@@ -781,7 +781,7 @@ if (is_rpid_user_e164()) {
 };
 };
 ...
 ...
 
 
-4.22.  set_uri_user(uri, user)
+4.22. set_uri_user(uri, user)
 
 
    Sets userpart of SIP URI stored in writable pseudo variable 'uri' to
    Sets userpart of SIP URI stored in writable pseudo variable 'uri' to
    value of pseudo variable 'user'.
    value of pseudo variable 'user'.
@@ -795,7 +795,7 @@ $var(user) = "new_user";
 set_uri_user("$var(uri)", "$var(user)");
 set_uri_user("$var(uri)", "$var(user)");
 ...
 ...
 
 
-4.23.  set_uri_host(uri, host)
+4.23. set_uri_host(uri, host)
 
 
    Sets hostpart of SIP URI stored in writable pseudo variable 'uri' to
    Sets hostpart of SIP URI stored in writable pseudo variable 'uri' to
    value of pseudo variable 'host'.
    value of pseudo variable 'host'.
@@ -809,7 +809,7 @@ $var(host) = "new_host";
 set_uri_host("$var(uri)", "$var(host)");
 set_uri_host("$var(uri)", "$var(host)");
 ...
 ...
 
 
-4.24.  is_request()
+4.24. is_request()
 
 
    Return true if the SIP message is a request.
    Return true if the SIP message is a request.
 
 
@@ -822,7 +822,7 @@ if (is_request()) {
 }
 }
 ...
 ...
 
 
-4.25.  is_reply()
+4.25. is_reply()
 
 
    Return true if the SIP message is a reply.
    Return true if the SIP message is a reply.
 
 
@@ -835,7 +835,7 @@ if (is_reply()) {
 }
 }
 ...
 ...
 
 
-4.26.  is_gruu([uri])
+4.26. is_gruu([uri])
 
 
    The function returns true if the uri is GRUU ('gr' parameter is
    The function returns true if the uri is GRUU ('gr' parameter is
    present): 1 - pub-gruu; 2 - temp-gruu.
    present): 1 - pub-gruu; 2 - temp-gruu.
@@ -851,7 +851,7 @@ if (is_reply()) {
 if(is_gruu()) { ... }
 if(is_gruu()) { ... }
 ...
 ...
 
 
-4.27.  is_supported(option)
+4.27. is_supported(option)
 
 
    Function returns true if given option is listed in Supported header(s)
    Function returns true if given option is listed in Supported header(s)
    (if any) of the request. Currently the following options are known:
    (if any) of the request. Currently the following options are known:
@@ -864,7 +864,7 @@ if(is_gruu()) { ... }
 if (is_supported("outbound")) { ... }
 if (is_supported("outbound")) { ... }
 ...
 ...
 
 
-4.28.  is_first_hop()
+4.28. is_first_hop()
 
 
    The function returns true if the proxy is first hop after the original
    The function returns true if the proxy is first hop after the original
    sender. For incoming SIP requests, it means there is only one Via
    sender. For incoming SIP requests, it means there is only one Via
@@ -880,3 +880,15 @@ if (is_supported("outbound")) { ... }
 ...
 ...
 if(is_first_hop()) { ... }
 if(is_first_hop()) { ... }
 ...
 ...
+
+4.29. sip_p_charging_vector(flags)
+
+   Manage the P-Charging-Vector header (RFC3455). The flags can be: 'r' -
+   remove; 'g' - generate; 'f' - force (remove + generate).
+
+   This function can be used from ANY_ROUTE.
+
+   Example 1.38. sip_p_charging_vector() usage
+...
+sip_p_charging_vector("g");
+...

+ 20 - 0
modules/siputils/doc/siputils_admin.xml

@@ -1058,6 +1058,26 @@ if (is_supported("outbound")) { ... }
 ...
 ...
 if(is_first_hop()) { ... }
 if(is_first_hop()) { ... }
 ...
 ...
+</programlisting>
+		</example>
+	</section>
+	<section id="siputils.f.sip_p_charging_vector">
+		<title>
+			<function moreinfo="none">sip_p_charging_vector(flags)</function>
+		</title>
+		<para>
+			Manage the P-Charging-Vector header (RFC3455). The flags can be:
+			'r' - remove; 'g' - generate; 'f' - force (remove + generate).
+		</para>
+		<para>
+		This function can be used from ANY_ROUTE.
+		</para>
+		<example>
+		<title>sip_p_charging_vector() usage</title>
+		<programlisting format="linespecific">
+...
+sip_p_charging_vector("g");
+...
 </programlisting>
 </programlisting>
 		</example>
 		</example>
 	</section>
 	</section>