diff --git a/src/modules/sdpops/doc/sdpops_admin.xml b/src/modules/sdpops/doc/sdpops_admin.xml
index 746b051f017..3c802d4cdf2 100644
--- a/src/modules/sdpops/doc/sdpops_admin.xml
+++ b/src/modules/sdpops/doc/sdpops_admin.xml
@@ -595,7 +595,174 @@ if(is_method("INVITE") && has_body("application/sdp")){
-
+
+
+ sdp_iterator_start(iname)
+
+
+ Start an iterator for lines in the body of the current SIP message.
+ The parameter iname is used to identify the iterator. There
+ can be up to 4 iterators at the same time, with different name.
+
+
+ The parameter can be a dynamic string with variables.
+
+
+ This function can be used from ANY_ROUTE.
+
+
+ sdp_iterator_start usage
+
+...
+sdp_iterator_start("s1");
+...
+
+
+
+
+
+ sdp_iterator_end(iname)
+
+
+ Close the iterator identified by iname parameter. The iname value
+ must be the same used for sdp_iterator_start().
+
+
+ The parameter can be dynamic string with variables.
+
+
+ This function can be used from ANY_ROUTE.
+
+
+ sdp_iterator_end usage
+
+...
+sdp_iterator_end("s1");
+...
+
+
+
+
+
+ sdp_iterator_next(iname)
+
+
+ Move the iterator to the next line in the body. It must
+ be called also after sdp_iterator_start() to get the first
+ header.
+
+
+ The return code is false when there is no other header in the list.
+
+
+ The SDP line is accessible via variable $sdpitval(iname) - it contains
+ also the EOL chars.
+
+
+ The parameter can be dynamic string with variables.
+
+
+ This function can be used from ANY_ROUTE.
+
+
+ sdp_iterator_next usage
+
+...
+ sdp_iterator_start("s1");
+ while(sdp_iterator_next("s1")) {
+ xlog("body line: $sdpitval(s1)");
+ }
+ sdp_iterator_end("s1");
+...
+
+
+
+
+
+ sdp_iterator_rm(iname)
+
+
+ Remove the body line at the current iterator position.
+
+
+ The parameter can be dynamic string with variables.
+
+
+ This function can be used from ANY_ROUTE.
+
+
+ sdp_iterator_rm usage
+
+...
+ sdp_iterator_start("s1");
+ while(sdp_iterator_next("s1")) {
+ if($sdpitval(s1)=~"abc") {
+ sdp_iterator_rm("s1");
+ }
+ }
+ sdp_iterator_end("s1");
+...
+
+
+
+
+
+ sdp_iterator_append(iname, text)
+
+
+ Add text after the line at the current iterator possition.
+
+
+ The parameters can be dynamic strings with variables.
+
+
+ This function can be used from ANY_ROUTE.
+
+
+ sdp_iterator_append usage
+
+...
+ sdp_iterator_start("s1");
+ while(sdp_iterator_next("s1")) {
+ if($sdpitval(s1)=~"^a=info:xyz") {
+ sdp_iterator_append("s1", "a=info:abc\r\n");
+ break;
+ }
+ }
+ sdp_iterator_end("s1");
+...
+
+
+
+
+
+ sdp_iterator_insert(iname, text)
+
+
+ Add text before the line at the current iterator possition.
+
+
+ The parameters can be dynamic strings with variables.
+
+
+ This function can be used from ANY_ROUTE.
+
+
+ sdp_iterator_insert usage
+
+...
+ sdp_iterator_start("s1");
+ while(sdp_iterator_next("s1")) {
+ if($sdpitval(s1)=~"^a=info:xyz") {
+ sdp_iterator_insert("s1", "a=info:abc\r\n");
+ break;
+ }
+ }
+ sdp_iterator_end("s1");
+...
+
+
+
@@ -622,6 +789,11 @@ if(is_method("INVITE") && has_body("application/sdp")){
Exported pseudo-variables are also documented at &kamwikilink;
+
+ $sdpitval( )
+ Return the value of to SDP line iterator with the given
+ name: $sdpitval(name).
+