From 49d14d9934f6c21226cef0ff84b1766190f80452 Mon Sep 17 00:00:00 2001 From: Giovanni Maruzzelli Date: Mon, 27 Jul 2009 13:12:12 +0000 Subject: [PATCH] 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 --- src/mod/endpoints/mod_skypiax/skypiax_protocol.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) 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);