]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
improve error handling in tech_init
authorMoises Silva <moy@sangoma.com>
Mon, 14 Sep 2009 21:19:07 +0000 (21:19 +0000)
committerMoises Silva <moy@sangoma.com>
Mon, 14 Sep 2009 21:19:07 +0000 (21:19 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@832 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/openzap/mod_openzap/mod_openzap.c

index ddefd6e7fdf5ac3d087fa1512d0af25026965e3d..cb4e8fbae2df644e6805bf73f1ae713b65cff56e 100644 (file)
@@ -304,8 +304,15 @@ static switch_status_t tech_init(private_t *tech_pvt, switch_core_session_t *ses
        switch_core_session_set_private(session, tech_pvt);
        tech_pvt->session = session;
 
-       zap_channel_command(zchan, ZAP_COMMAND_GET_INTERVAL, &interval);
-       zap_channel_command(zchan, ZAP_COMMAND_GET_CODEC, &codec);
+       if (ZAP_SUCCESS != zap_channel_command(zchan, ZAP_COMMAND_GET_INTERVAL, &interval)) {
+               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to retrieve channel interval.\n");
+               return SWITCH_STATUS_GENERR;
+       }
+
+       if (ZAP_SUCCESS != zap_channel_command(zchan, ZAP_COMMAND_GET_CODEC, &codec)) {
+               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Failed to retrieve channel codec.\n");
+               return SWITCH_STATUS_GENERR;
+       }
 
        switch(codec) {
        case ZAP_CODEC_ULAW:
@@ -324,7 +331,10 @@ static switch_status_t tech_init(private_t *tech_pvt, switch_core_session_t *ses
                }
                break;
        default:
-               abort();
+               {
+                       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid codec value retrieved from channel, codec value: %d\n", codec);
+                       return SWITCH_STATUS_GENERR;
+               }
        }
 
 
@@ -2902,5 +2912,5 @@ SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_openzap_shutdown)
  * c-basic-offset:4
  * End:
  * For VIM:
- * vim:set softtabstop=4 shiftwidth=4 tabstop=4 expandtab:
+ * vim:set softtabstop=4 shiftwidth=4 tabstop=4 
  */