Module: sems Branch: master Commit: b691f988e0d9dda866163a4c84dc32b7a545b447 URL: http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=b691f988e0d9dda866163a4c84dc32b7a545b447
Author: Stefan Sayer <[email protected]> Committer: Stefan Sayer <[email protected]> Date: Fri Jan 7 15:56:22 2011 +0100 sbc: add $si/$sp and $Ri/Rp source/rcvd IP/port - adds replacements for source/received IP/port --- apps/sbc/ParamReplacer.cpp | 36 +++++++++++++++++++++++++++++++++++- doc/Readme.sbc.txt | 6 ++++++ 2 files changed, 41 insertions(+), 1 deletions(-) diff --git a/apps/sbc/ParamReplacer.cpp b/apps/sbc/ParamReplacer.cpp index 3ca137d..74ff77f 100644 --- a/apps/sbc/ParamReplacer.cpp +++ b/apps/sbc/ParamReplacer.cpp @@ -133,7 +133,41 @@ string replaceParameters(const string& s, break; } WARN("unknown replacement $c%c\n", s[p+1]); - } + }; break; + + case 's': { // source (remote) + if (s.length() < p+1) { + WARN("unknown replacement $s\n"); + break; + } + + if (s[p+1] == 'i') { // $si source IP address + res += req.remote_ip.c_str(); + break; + } else if (s[p+1] == 'p') { // $sp source port + res += int2str(req.remote_port); + break; + } + + WARN("unknown replacement $s%c\n", s[p+1]); + }; break; + + case 'R': { // received (local) + if (s.length() < p+1) { + WARN("unknown replacement $R\n"); + break; + } + + if (s[p+1] == 'i') { // $si source IP address + res += req.local_ip.c_str(); + break; + } else if (s[p+1] == 'p') { // $sp source port + res += int2str(req.local_port); + break; + } + WARN("unknown replacement $R%c\n", s[p+1]); + }; break; + #define case_HDR(pv_char, pv_name, hdr_name) \ case pv_char: { \ diff --git a/doc/Readme.sbc.txt b/doc/Readme.sbc.txt index e3e9e4f..765a36b 100644 --- a/doc/Readme.sbc.txt +++ b/doc/Readme.sbc.txt @@ -116,6 +116,12 @@ The patterns which can be used are the following: $ci - Call-ID + $si - source (remote) IP address + $sp - source (remote) port + + $Ri - destination (local/received) IP address + $Rp - destination (local/received) port + $P(paramname) - paramname from P-App-Param Example: P-App-Param: u=myuser;p=mypwd;d=mydomain _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
