]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
skypiax: manage the 'WAITING_REDIAL_COMMAND' call status message (skypeout: remote...
authorGiovanni Maruzzelli <gmaruzz@gmail.com>
Mon, 27 Jul 2009 13:12:12 +0000 (13:12 +0000)
committerGiovanni Maruzzelli <gmaruzz@gmail.com>
Mon, 27 Jul 2009 13:12:12 +0000 (13:12 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14372 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/endpoints/mod_skypiax/skypiax_protocol.c

index 1c768cdd3868a98e6baa44bba36493f2ed225853..462d90635cf59f9a7f470cfe6a017925dcf683a0 100644 (file)
@@ -385,7 +385,18 @@ int skypiax_signaling_read(private_t * tech_pvt)
           } else if (!strcasecmp(value, "BUSY")) {
             tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED;
             DEBUGA_SKYPE
-              ("we tried to call Skype on skype_call %s and remote party (destination) was BUSY\n",
+              ("we tried to call Skype on skype_call %s and remote party (destination) was BUSY. Our outbound call has failed\n",
+               SKYPIAX_P_LOG, id);
+            skypiax_strncpy(tech_pvt->skype_call_id, id,
+                            sizeof(tech_pvt->skype_call_id) - 1);
+            tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+            tech_pvt->skype_call_id[0] = '\0';
+                       skypiax_sleep(1000);
+            return CALLFLOW_INCOMING_HANGUP;
+          } else if (!strcasecmp(value, "WAITING_REDIAL_COMMAND")) {
+            tech_pvt->skype_callflow = CALLFLOW_STATUS_FAILED;
+            DEBUGA_SKYPE
+              ("we tried to call Skype on skype_call %s and remote party (destination) has rejected us (WAITING_REDIAL_COMMAND). Our outbound call has failed\n",
                SKYPIAX_P_LOG, id);
             skypiax_strncpy(tech_pvt->skype_call_id, id,
                             sizeof(tech_pvt->skype_call_id) - 1);