Module: sems
Branch: master
Commit: 47250b89c945366977e7d0993f36825d39c1b7a1
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=47250b89c945366977e7d0993f36825d39c1b7a1

Author: Stefan Sayer <[email protected]>
Committer: Stefan Sayer <[email protected]>
Date:   Fri Oct 22 13:35:18 2010 +0200

add remote_ip/port, local_ip/port to sip msg

---

 core/AmSipMsg.h           |    5 +++++
 core/SipCtrlInterface.cpp |   10 ++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/core/AmSipMsg.h b/core/AmSipMsg.h
index 5b7e341..95a9077 100644
--- a/core/AmSipMsg.h
+++ b/core/AmSipMsg.h
@@ -25,6 +25,11 @@ class _AmSipMsgInDlg
   // transaction ticket from sip stack
   trans_ticket tt;
 
+  string         remote_ip;
+  unsigned short remote_port;
+  string         local_ip;
+  unsigned short local_port;
+
   _AmSipMsgInDlg() : cseq(0), rseq(0) { }
   virtual ~_AmSipMsgInDlg() { };
 
diff --git a/core/SipCtrlInterface.cpp b/core/SipCtrlInterface.cpp
index ed76a62..f7f8a00 100644
--- a/core/SipCtrlInterface.cpp
+++ b/core/SipCtrlInterface.cpp
@@ -450,6 +450,11 @@ inline void SipCtrlInterface::sip_msg2am_request(const 
sip_msg *msg,
                + c2stlstr((*it)->value) + CRLF;
        }
     }
+
+    req.remote_ip = 
get_addr_str(((sockaddr_in*)&msg->remote_ip)->sin_addr).c_str();
+    req.remote_port = htons(((sockaddr_in*)&msg->remote_ip)->sin_port);
+    req.local_ip = 
get_addr_str(((sockaddr_in*)&msg->local_ip)->sin_addr).c_str();
+    req.local_port = htons(((sockaddr_in*)&msg->local_ip)->sin_port);
 }
 
 inline bool SipCtrlInterface::sip_msg2am_reply(sip_msg *msg, AmSipReply &reply)
@@ -513,6 +518,11 @@ inline bool SipCtrlInterface::sip_msg2am_reply(sip_msg 
*msg, AmSipReply &reply)
         }
     }
 
+    reply.remote_ip = 
get_addr_str(((sockaddr_in*)&msg->remote_ip)->sin_addr).c_str();
+    reply.remote_port = htons(((sockaddr_in*)&msg->remote_ip)->sin_port);
+    reply.local_ip = 
get_addr_str(((sockaddr_in*)&msg->local_ip)->sin_addr).c_str();
+    reply.local_port = htons(((sockaddr_in*)&msg->local_ip)->sin_port);
+
     return true;
 }
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to