Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (14371 => 14372)
--- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c 2009-07-27 12:53:06 UTC (rev 14371)
+++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c 2009-07-27 13:12:12 UTC (rev 14372)
@@ -385,7 +385,7 @@
} 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);
@@ -393,6 +393,17 @@
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);
+ tech_pvt->interface_state = SKYPIAX_STATE_DOWN;
+ tech_pvt->skype_call_id[0] = '\0';
+ skypiax_sleep(1000);
+ return CALLFLOW_INCOMING_HANGUP;
} else {
WARNINGA("skype_call: %s, STATUS: %s is not recognized\n", SKYPIAX_P_LOG, id,
value);