[Freeswitch-svn] [commit] r10944 - freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax

FreeSWITCH SVN gmaruzz at freeswitch.org
Fri Dec 26 05:40:29 PST 2008


Author: gmaruzz
Date: Fri Dec 26 08:40:28 2008
New Revision: 10944

Log:
skypiax: continuing multiline on windows, api_connected when currentuserhandle == skype_user

Modified:
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h
   freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h
==============================================================================
--- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h	(original)
+++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax.h	Fri Dec 26 08:40:28 2008
@@ -141,6 +141,7 @@
 char win32_acInit_WindowClassName[128];
 UINT win32_uiGlobal_MsgID_SkypeControlAPIAttach;
 UINT win32_uiGlobal_MsgID_SkypeControlAPIDiscover;
+int api_connected;
   switch_file_t *fdesc[2];
 };
 

Modified: freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/src/mod/endpoints/mod_skypiax/skypiax_protocol.c	Fri Dec 26 08:40:28 2008
@@ -607,11 +607,13 @@
     if (uiMessage == p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIAttach) {
       switch (ulParam) {
       case SKYPECONTROLAPI_ATTACH_SUCCESS:
+	if(!p->AsteriskHandlesAst.api_connected){
         NOTICA("\n\n\tConnected to Skype API!\n", SKYPIAX_P_LOG);
         p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle = (HWND) uiParam;
         switch_sleep(5000);
         p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle =
           p->AsteriskHandlesAst.win32_hGlobal_SkypeAPIWindowHandle;
+	}
         break;
       case SKYPECONTROLAPI_ATTACH_PENDING_AUTHORIZATION:
         WARNINGA
@@ -627,9 +629,11 @@
       case SKYPECONTROLAPI_ATTACH_API_AVAILABLE:
         DEBUGA_SKYPE("Skype API available\n", SKYPIAX_P_LOG);
 
+	if(!p->AsteriskHandlesAst.api_connected){
         SendMessage
             (HWND_BROADCAST, p->AsteriskHandlesAst.win32_uiGlobal_MsgID_SkypeControlAPIDiscover,
              (WPARAM) p->AsteriskHandlesAst.win32_hInit_MainWindowHandle, 0);
+	}
         break;
       default:
         WARNINGA("GOT AN UNKNOWN SKYPE WINDOWS MSG\n", SKYPIAX_P_LOG);
@@ -1202,6 +1206,20 @@
             p->interface_state = SKYPIAX_STATE_DOWN;
           }
         }
+          if (!strcasecmp(messaggio, "CURRENTUSERHANDLE") ) {
+          strncpy(obj, where, sizeof(obj) - 1);
+
+          where = strsep(stringp, " ");
+
+          strncpy(id, where, sizeof(id) - 1);
+
+
+          if (!strcasecmp(id, p->skype_user)) {
+		  p->AsteriskHandlesAst.api_connected = 1;
+            DEBUGA_SKYPE ("Skype MSG: messaggio: %s, currentuserhandle: %s, cuh: %s, skype_user: %s!\n", SKYPIAX_P_LOG, messaggio, obj, id, p->skype_user);
+          }
+          }
+
         if (!strcasecmp(messaggio, "CALL")) {
 
           strncpy(obj, where, sizeof(obj) - 1);
@@ -1225,6 +1243,7 @@
               ("Skype MSG: messaggio: %s, obj: %s, id: %s, prop: %s, value: %s,where: %s!\n",
                SKYPIAX_P_LOG, messaggio, obj, id, prop, value, where ? where : "NULL");
 
+
           if (!strcasecmp(prop, "PARTNER_HANDLE")) {
             strncpy(p->callid_number, value, sizeof(p->callid_number) - 1);
             WARNINGA



More information about the Freeswitch-svn mailing list