Module: sems
Branch: rco/offer_answer
Commit: 2cb318fc3afeeb16fde4a41618ef00db492b3adf
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=2cb318fc3afeeb16fde4a41618ef00db492b3adf

Author: Raphael Coeffic <[email protected]>
Committer: Raphael Coeffic <[email protected]>
Date:   Tue Oct 19 17:28:04 2010 +0200

fixed: ann_b2b

---

 apps/ann_b2b/AnnounceB2B.cpp |    2 ++
 core/AmSipDialog.cpp         |    4 ++--
 core/AmSipMsg.h              |    3 ++-
 core/SipCtrlInterface.cpp    |    6 +++++-
 4 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/apps/ann_b2b/AnnounceB2B.cpp b/apps/ann_b2b/AnnounceB2B.cpp
index 77faab4..389061b 100644
--- a/apps/ann_b2b/AnnounceB2B.cpp
+++ b/apps/ann_b2b/AnnounceB2B.cpp
@@ -105,6 +105,8 @@ void AnnounceCallerDialog::onInvite(const AmSipRequest& req)
 {
   callee_addr = req.to;
   callee_uri  = req.r_uri;
+
+  AmB2BCallerSession::onInvite(req);
 }
 
 void AnnounceCallerDialog::onSessionStart()
diff --git a/core/AmSipDialog.cpp b/core/AmSipDialog.cpp
index 014d9c5..5bb81c0 100644
--- a/core/AmSipDialog.cpp
+++ b/core/AmSipDialog.cpp
@@ -539,7 +539,7 @@ void AmSipDialog::onRxReply(const AmSipReply& reply)
       else if(reply.code < 300){
        status = Connected;
        route = reply.route;
-       remote_uri = reply.contact;
+       remote_uri = reply.to_uri;
 
        if(reply.to_tag.empty()){
          DBG("received 2xx reply without to-tag "
@@ -576,7 +576,7 @@ void AmSipDialog::onRxReply(const AmSipReply& reply)
       else if(reply.code < 300){
        status = Connected;
        route = reply.route;
-       remote_uri = reply.contact;
+       remote_uri = reply.to_uri;
       }
       else { // error reply
        status = Disconnected;
diff --git a/core/AmSipMsg.h b/core/AmSipMsg.h
index 337b12f..390b522 100644
--- a/core/AmSipMsg.h
+++ b/core/AmSipMsg.h
@@ -11,7 +11,6 @@ class _AmSipMsgInDlg
 {
  public:
   string from;
-  string from_uri;
   string from_tag;
 
   string to;
@@ -46,6 +45,7 @@ class AmSipReply : public _AmSipMsgInDlg
  public:
   unsigned int code;
   string       reason;
+  string       to_uri;
 
  AmSipReply() : code(0), _AmSipMsgInDlg() { }
   ~AmSipReply() { }
@@ -62,6 +62,7 @@ class AmSipRequest : public _AmSipMsgInDlg
   string user;
   string domain;
   string r_uri;
+  string from_uri;
 
   AmSipRequest() : _AmSipMsgInDlg() { }
   ~AmSipRequest() { }
diff --git a/core/SipCtrlInterface.cpp b/core/SipCtrlInterface.cpp
index f6144ea..7901799 100644
--- a/core/SipCtrlInterface.cpp
+++ b/core/SipCtrlInterface.cpp
@@ -482,10 +482,12 @@ inline bool SipCtrlInterface::sip_msg2am_reply(sip_msg 
*msg, AmSipReply &reply)
            return false;
        }
        
-       reply.contact = c2stlstr(na.addr);
+       reply.to_uri = c2stlstr(na.addr);
        
        list<sip_header*>::iterator c_it = msg->contacts.begin();
        reply.contact = c2stlstr((*c_it)->value);
+       ++c_it;
+
        for(;c_it!=msg->contacts.end(); ++c_it){
            reply.contact += "," + c2stlstr((*c_it)->value);
        }
@@ -573,6 +575,8 @@ void SipCtrlInterface::handle_sip_reply(sip_msg* msg)
     DBG_PARAM(reply.callid);
     DBG_PARAM(reply.from_tag);
     DBG_PARAM(reply.to_tag);
+    DBG_PARAM(reply.contact);
+    DBG_PARAM(reply.to_uri);
     DBG("cseq = <%i>\n",reply.cseq);
 
     AmSipDispatcher::instance()->handleSipMsg(reply);

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

Reply via email to