* 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: https://origsvn.digium.com/svn/asterisk/trunk@17128 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Christian Richter
2006-04-03 19:17:59 +00:00
parent 1b6d24a09e
commit a096fbd87d
3 changed files with 355 additions and 127 deletions

View File

@@ -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