[Freeswitch-svn] [commit] r11737 - in freeswitch/branches/gmaruzz/mod_skypiax: . asterisk

FreeSWITCH SVN gmaruzz at freeswitch.org
Tue Feb 10 15:46:42 PST 2009


Author: gmaruzz
Date: Tue Feb 10 17:46:42 2009
New Revision: 11737

Log:
skypiax: * wait for all interfaces to be connected to Skype client AND identified the correct client on cygwin

Modified:
   freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
   freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c

Modified: freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/asterisk/chan_skypiax.c	Tue Feb 10 17:46:42 2009
@@ -783,6 +783,7 @@
   struct ast_config *cfg;
   struct skypiax_pvt *tmp;
   struct skypiax_pvt *p = NULL;
+  struct skypiax_pvt *p2 = NULL;
 #ifdef ASTERISK_VERSION_1_6
   struct ast_flags config_flags = { 0 };
 #endif /* ASTERISK_VERSION_1_6 */
@@ -857,6 +858,28 @@
     ERRORA("skypiax_restart_monitor failed, BAD\n", SKYPIAX_P_LOG);
     return -1;
   }
+  /* go through the interfaces list (skypiax_iflist) WITHOUT locking */
+  p = skypiax_iflist;
+  while (p) {
+	  int i;
+	  /* for each interface in list */
+	  p2 = p->next;
+	  NOTICA("STARTING interface %s, please be patient\n", SKYPIAX_P_LOG, p->name);
+	  i=0;
+	  while (p->SkypiaxHandles.api_connected == 0 && running && i < 60000) { // 60sec FIXME
+		  usleep(1000);
+		  i++;
+	  }
+	  if (p->SkypiaxHandles.api_connected){
+		  NOTICA("Interface %s is now STARTED\n", SKYPIAX_P_LOG, p->name);
+	  } else {
+		  ERRORA("Interface %s FAILED to start\n", SKYPIAX_P_LOG, p->name);
+		  running = 0;
+		  return -1;
+	  }
+	  /* next one, please */
+	  p = p2;
+  }
   return 0;
 }
 
@@ -1832,7 +1855,6 @@
 
 
 #endif
-        NOTICA("Here\n", SKYPIAX_P_LOG);
 	return 0;
 }
 int outbound_channel_answered(private_t *p) {

Modified: freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c
==============================================================================
--- freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	(original)
+++ freeswitch/branches/gmaruzz/mod_skypiax/skypiax_protocol.c	Tue Feb 10 17:46:42 2009
@@ -82,7 +82,7 @@
         WARNINGA("Skype MSG without spaces: %s\n", SKYPIAX_P_LOG, message);
       }
       if (!strcasecmp(message, "ERROR")) {
-        WARNINGA("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message);
+        DEBUGA_SKYPE("Skype got ERROR: |||%s|||\n", SKYPIAX_P_LOG, message);
         tech_pvt->skype_callflow = CALLFLOW_STATUS_FINISHED;
         DEBUGA_SKYPE("skype_call now is DOWN\n", SKYPIAX_P_LOG);
         tech_pvt->skype_call_id[0] = '\0';
@@ -1062,7 +1062,7 @@
              (WPARAM) tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle, 0) != 0) {
           tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle =
             tech_pvt->SkypiaxHandles.win32_hInit_MainWindowHandle;
-          while (1) {
+          while (running) {
             MSG oMessage;
             if (!running)
               break;



More information about the Freeswitch-svn mailing list