From: Giovanni Maruzzelli Date: Mon, 27 Jul 2009 13:12:12 +0000 (+0000) Subject: skypiax: manage the 'WAITING_REDIAL_COMMAND' call status message (skypeout: remote... X-Git-Tag: v1.0.4~80 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=49d14d9934f6c21226cef0ff84b1766190f80452;p=thirdparty%2Ffreeswitch.git skypiax: manage the 'WAITING_REDIAL_COMMAND' call status message (skypeout: remote PSTN party has rejected us, our outbound call is failed) git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14372 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/mod/endpoints/mod_skypiax/skypiax_protocol.c b/src/mod/endpoints/mod_skypiax/skypiax_protocol.c index 1c768cdd38..462d90635c 100644 --- a/src/mod/endpoints/mod_skypiax/skypiax_protocol.c +++ b/src/mod/endpoints/mod_skypiax/skypiax_protocol.c @@ -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);