]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
added ZAP_COMMAND_GET_LINK_STATUS for sangoma boards
authorMoises Silva <moy@sangoma.com>
Mon, 16 Nov 2009 18:42:35 +0000 (18:42 +0000)
committerMoises Silva <moy@sangoma.com>
Mon, 16 Nov 2009 18:42:35 +0000 (18:42 +0000)
git-svn-id: http://svn.openzap.org/svn/openzap/branches/sangoma_boost@870 a93c3328-9c30-0410-af19-c9cd2b2d52af

libs/freetdm/src/include/zap_types.h
libs/freetdm/src/ozmod/ozmod_wanpipe/ozmod_wanpipe.c

index 38b749c0d7f65cf1309325cb23c3aaa122b9fa65..045d60cb2f3d9940dff2d736e71a22248ce95b94 100644 (file)
@@ -301,6 +301,7 @@ typedef enum {
        ZAP_COMMAND_FLUSH_BUFFERS,
        ZAP_COMMAND_SET_PRE_BUFFER_SIZE,
        ZAP_COMMAND_SET_LINK_STATUS,
+       ZAP_COMMAND_GET_LINK_STATUS,
        ZAP_COMMAND_COUNT
 } zap_command_t;
 
@@ -421,8 +422,7 @@ struct zap_state_map {
 typedef struct zap_state_map zap_state_map_t;
 
 typedef enum zap_hw_link_status {
-       ZAP_HW_LINK_UNINITIALIZED = 0,
-       ZAP_HW_LINK_DISCONNECTED,
+       ZAP_HW_LINK_DISCONNECTED = 0,
        ZAP_HW_LINK_CONNECTED
 } zap_hw_link_status_t;
 
index 88a8aaf57430f8c012fdb91720b5e11694006e88..02103c6fcd2040f4e6d2e2447d794c4932dec467 100644 (file)
@@ -598,22 +598,19 @@ static ZIO_COMMAND_FUNCTION(wanpipe_command)
        case ZAP_COMMAND_SET_LINK_STATUS:
                {
                        zap_hw_link_status_t status = ZAP_COMMAND_OBJ_INT;
-                       char sangoma_status;
-                       switch (status) {
-                       case ZAP_HW_LINK_UNINITIALIZED: 
-                               sangoma_status = FE_UNITIALIZED;
-                               break;
-                       case ZAP_HW_LINK_DISCONNECTED:
-                               sangoma_status = FE_DISCONNECTED;
-                               break;
-                       case ZAP_HW_LINK_CONNECTED:
-                               sangoma_status = FE_CONNECTED;
-                               break;
-                       default:
-                               return ZAP_FAIL;
+                       char sangoma_status = status == ZAP_HW_LINK_CONNECTED ? FE_CONNECTED : FE_DISCONNECTED;
+                       err = sangoma_tdm_set_fe_status(zchan->sockfd, &tdm_api, sangoma_status);
+               }
+               break;
+       case ZAP_COMMAND_GET_LINK_STATUS:
+               {
+                       unsigned char sangoma_status = 0;
+                       err = sangoma_tdm_get_fe_status(zchan->sockfd, &tdm_api, &sangoma_status);
+                       if (!err) {
+                               ZAP_COMMAND_OBJ_INT = sangoma_status == FE_CONNECTED ? ZAP_HW_LINK_CONNECTED : ZAP_HW_LINK_DISCONNECTED;
                        }
-                       err = sangoma_tdm_set_fe_status(zchan->sockfd, &tdm_api, status);
                }
+               break;
        default:
                break;
        };