[ekiga] Fixed dialog info presence handling.



commit ace3eec485809d9ed36051f10552367ab96fa10a
Author: Damien Sandras <dsandras seconix com>
Date:   Sun Nov 1 18:47:35 2009 +0100

    Fixed dialog info presence handling.
    
    The new Kamailio server handles dialog info (who is in a call
    and who is not).

 lib/engine/components/opal/sip-endpoint.cpp |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)
---
diff --git a/lib/engine/components/opal/sip-endpoint.cpp b/lib/engine/components/opal/sip-endpoint.cpp
index 533e9de..70dba32 100644
--- a/lib/engine/components/opal/sip-endpoint.cpp
+++ b/lib/engine/components/opal/sip-endpoint.cpp
@@ -1068,6 +1068,8 @@ Opal::Sip::EndPoint::OnDialogInfoReceived (const SIPDialogNotification & info)
   std::string uri = (const char *) info.m_entity;
   PString remote_uri = info.m_remote.m_identity;
   PString remote_display_name = info.m_remote.m_display.IsEmpty () ? remote_uri : info.m_remote.m_display;
+  if (uri.find ("sip:") == string::npos)
+    uri = "sip:" + uri;
 
   switch (info.m_state) {
   case SIPDialogNotification::Proceeding:
@@ -1096,6 +1098,9 @@ Opal::Sip::EndPoint::OnDialogInfoReceived (const SIPDialogNotification & info)
   dialog_infos[uri].presence = presence;
   dialog_infos[uri].status = status;
 
+  if (presence_infos[uri].presence.empty ())
+    presence_infos[uri].presence = "online";
+
   if (_status)
     Ekiga::Runtime::run_in_main (boost::bind (&Opal::Sip::EndPoint::presence_status_in_main, this, uri, dialog_infos[uri].presence, dialog_infos[uri].status));
   else



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]