From df8974d76bd3d6c46acd3c2a6ba2f4dfddc69bc8 Mon Sep 17 00:00:00 2001
From: Alexandre Savard <alexandresavard@alexandresavard-desktop.(none)>
Date: Tue, 16 Mar 2010 13:58:55 -0400
Subject: [PATCH] [#3030] Fix NOTIFY/INFO determination in call_on_tsx_changed

---
 sflphone-common/src/sip/sipvoiplink.cpp | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/sflphone-common/src/sip/sipvoiplink.cpp b/sflphone-common/src/sip/sipvoiplink.cpp
index fa0e1c3cc6..448f659e9e 100644
--- a/sflphone-common/src/sip/sipvoiplink.cpp
+++ b/sflphone-common/src/sip/sipvoiplink.cpp
@@ -3338,12 +3338,19 @@ void call_on_tsx_changed (pjsip_inv_session *inv, pjsip_transaction *tsx, pjsip_
 
             if (r_data->msg_info.msg->line.req.method.id == PJSIP_OTHER_METHOD) {
 
-                std::string method_name = "INFO";
-                std::string request =  r_data->msg_info.msg->line.req.method.name.ptr;
+                std::string method_info = "INFO";
+                std::string method_notify = "NOTIFY";
+                // std::string request =  r_data->msg_info.msg->line.req.method.name.ptr;
+                std::string request =  pjsip_rx_data_get_info (r_data);
 
-                if (request.find (method_name) != (size_t)-1) {
+			    _debug("UserAgent: %s", request.c_str());
 
-                    _debug ("UserAgent: %s", pjsip_rx_data_get_info (r_data));
+			    if(request.find (method_notify) != (size_t)-1) {
+			    	_debug("We got a NOTIFY!!!!!!!!!!!!!!!!!!!");
+			    }
+
+				// Must reply 200 OK on SIP INFO request
+			    else if (request.find (method_info) != (size_t)-1) {
 
                     pjsip_dlg_create_response (inv->dlg, r_data, PJSIP_SC_OK, NULL, &t_data);
 
-- 
GitLab