Modified: freeswitch/branches/gmaruzz/mod_gsmopen/gsmopen_protocol.cpp (16156 => 16157)
--- freeswitch/branches/gmaruzz/mod_gsmopen/gsmopen_protocol.cpp 2010-01-05 18:49:08 UTC (rev 16156)
+++ freeswitch/branches/gmaruzz/mod_gsmopen/gsmopen_protocol.cpp 2010-01-05 18:58:04 UTC (rev 16157)
@@ -874,6 +874,41 @@
gsmopen_queue_control(tech_pvt->owner, GSMOPEN_CONTROL_HANGUP);
DEBUGA_GSMOPEN("just sent GSMOPEN_CONTROL_HANGUP\n", GSMOPEN_P_LOG);
}
+
+ tech_pvt->phone_callflow = CALLFLOW_CALL_NOCARRIER;
+ if (option_debug > 1)
+ DEBUGA_GSMOPEN("|%s| CALLFLOW_CALL_NOCARRIER\n", GSMOPEN_P_LOG, tech_pvt->line_array.result[i]);
+ if (tech_pvt->interface_state != GSMOPEN_STATE_DOWN) {
+ //cicopet
+ switch_core_session_t *session = NULL;
+ switch_channel_t *channel = NULL;
+
+ tech_pvt->interface_state = GSMOPEN_STATE_DOWN;
+
+ session = switch_core_session_locate(tech_pvt->session_uuid_str);
+ if (session) {
+ channel = switch_core_session_get_channel(session);
+ //gsmopen_hangup(tech_pvt);
+ switch_core_session_rwunlock(session);
+ switch_channel_hangup(channel, SWITCH_CAUSE_NONE);
+ }
+ //
+ //tech_pvt->owner->hangupcause = GSMOPEN_CAUSE_FAILURE;
+ //gsmopen_queue_control(tech_pvt->owner, GSMOPEN_CONTROL_HANGUP);
+ } else {
+ ERRORA("Why NO CARRIER now?\n", GSMOPEN_P_LOG);
+ }
+
+
+
+
+
+
+
+
+
+
+
}
if ((strcmp(tech_pvt->line_array.result[i], tech_pvt->at_call_incoming) == 0)) {