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
