diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-03 19:17:59 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-03 19:17:59 +0000 |
commit | edfa5cf57f89b361bc13c24d0295911773a3c16e (patch) | |
tree | f5fd6d56f31d4fb97a488113d5c53f830f4bc79b /channels/misdn/isdn_lib.h | |
parent | a3299a03ef0945a8e0a0a165950d7853f71b5b9c (diff) |
* removed unneeded bc->state field
* added statefullness for bchannel activation/deactivation
* fixed a lot PCM bridging issues
* some debugging logs are now on a higher loglevel
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@17128 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/misdn/isdn_lib.h')
-rw-r--r-- | channels/misdn/isdn_lib.h | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/channels/misdn/isdn_lib.h b/channels/misdn/isdn_lib.h index 2c99d946b..1e94c7896 100644 --- a/channels/misdn/isdn_lib.h +++ b/channels/misdn/isdn_lib.h @@ -23,20 +23,27 @@ #define MAX_BCHANS 30 -enum bc_state_e { - STATE_NOTHING=0, - STATE_NULL, - STATE_CALL_INIT, - STATE_CONNECTED, - STATE_HOLD_ACKNOWLEDGE +enum bchannel_state { + BCHAN_CLEANED=0, + BCHAN_EMPTY, + BCHAN_SETUP, + BCHAN_SETUPED, + BCHAN_ACTIVE, + BCHAN_ACTIVATED, + BCHAN_BRIDGE, + BCHAN_BRIDGED, + BCHAN_RELEASE, + BCHAN_RELEASED, + BCHAN_CLEAN, + BCHAN_ERROR }; + enum misdn_err_e { ENOCHAN=1 }; - enum mISDN_NUMBER_PLAN { NUMPLAN_UNINITIALIZED=-1, NUMPLAN_INTERNATIONAL=0x1, @@ -54,7 +61,6 @@ enum event_response_e { }; - enum event_e { EVENT_NOTHING, EVENT_TONE_GENERATE, @@ -243,11 +249,16 @@ struct misdn_bchannel { int generate_tone; int tone_cnt; - - enum bc_state_e state; + + enum bchannel_state bc_state; + enum bchannel_state next_bc_state; + int conf_id; + int holded; int stack_holder; + + struct misdn_bchannel *holded_bc; int pres; int screen; @@ -390,4 +401,11 @@ int misdn_lib_is_ptp(int port); #define PRI_TRANS_CAP_3_1K_AUDIO 0x10 #define PRI_TRANS_CAP_7K_AUDIO 0x11 + + +char *bc_state2str(enum bchannel_state state); +void bc_state_change(struct misdn_bchannel *bc, enum bchannel_state state); + + + #endif |