mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-08-13 17:38:59 +00:00
update
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@189 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
@@ -151,6 +151,7 @@
|
||||
#define GOTO_STATUS(label,st) status = st; goto label ;
|
||||
|
||||
#define zap_copy_string(x,y,z) strncpy(x, y, z - 1)
|
||||
#define zap_set_string(x,y) strncpy(x, y, sizeof(x)-1)
|
||||
#define zap_strlen_zero(s) (!s || *s == '\0')
|
||||
|
||||
|
||||
@@ -222,6 +223,15 @@ struct zap_event {
|
||||
#define ZAP_TOKEN_STRLEN 128
|
||||
#define ZAP_MAX_TOKENS 10
|
||||
|
||||
|
||||
|
||||
struct zap_caller_data {
|
||||
char cid_name[80];
|
||||
char ani[25];
|
||||
char aniII[25];
|
||||
char dnis[25];
|
||||
};
|
||||
|
||||
struct zap_channel {
|
||||
uint32_t span_id;
|
||||
uint32_t chan_id;
|
||||
@@ -253,6 +263,7 @@ struct zap_channel {
|
||||
uint32_t token_count;
|
||||
char chan_name[128];
|
||||
char chan_number[32];
|
||||
struct zap_caller_data caller_data;
|
||||
struct zap_span *span;
|
||||
struct zap_io_interface *zio;
|
||||
};
|
||||
@@ -263,11 +274,6 @@ struct zap_sigmsg {
|
||||
uint32_t chan_id;
|
||||
uint32_t span_id;
|
||||
zap_channel_t *channel;
|
||||
zap_span_t *span;
|
||||
char cid_name[80];
|
||||
char ani[25];
|
||||
char aniII[25];
|
||||
char dnis[25];
|
||||
void *raw_data;
|
||||
uint32_t raw_data_len;
|
||||
};
|
||||
@@ -305,6 +311,7 @@ struct zap_span {
|
||||
char last_error[256];
|
||||
char tone_map[ZAP_TONEMAP_INVALID+1][ZAP_TONEMAP_LEN];
|
||||
zap_channel_t channels[ZAP_MAX_CHANNELS_SPAN];
|
||||
zio_channel_outgoing_call_t outgoing_call;
|
||||
void *app_data;
|
||||
};
|
||||
|
||||
@@ -326,6 +333,7 @@ struct zap_io_interface {
|
||||
zio_span_next_event_t next_event;
|
||||
};
|
||||
|
||||
zap_status_t zap_channel_outgoing_call(zap_channel_t *zchan);
|
||||
void zap_channel_rotate_tokens(zap_channel_t *zchan);
|
||||
zap_status_t zap_channel_clear_token(zap_channel_t *zchan, int32_t token_id);
|
||||
zap_status_t zap_channel_add_token(zap_channel_t *zchan, char *token);
|
||||
|
@@ -79,7 +79,8 @@ typedef enum {
|
||||
ZAP_STR2ENUM_P(zap_str2zap_trunk_type, zap_trunk_type2str, zap_trunk_type_t)
|
||||
|
||||
typedef enum {
|
||||
ZAP_OOB_DTMF, ZAP_OOB_ONHOOK,
|
||||
ZAP_OOB_DTMF,
|
||||
ZAP_OOB_ONHOOK,
|
||||
ZAP_OOB_OFFHOOK,
|
||||
ZAP_OOB_WINK,
|
||||
ZAP_OOB_FLASH,
|
||||
@@ -168,7 +169,10 @@ typedef enum {
|
||||
ZAP_COMMAND_GET_DTMF_ON_PERIOD,
|
||||
ZAP_COMMAND_SET_DTMF_OFF_PERIOD,
|
||||
ZAP_COMMAND_GET_DTMF_OFF_PERIOD,
|
||||
|
||||
ZAP_COMMAND_GENERATE_RING_ON,
|
||||
ZAP_COMMAND_GENERATE_RING_OFF,
|
||||
ZAP_COMMAND_OFFHOOK,
|
||||
ZAP_COMMAND_ONHOOK,
|
||||
ZAP_COMMAND_COUNT
|
||||
} zap_command_t;
|
||||
|
||||
@@ -203,9 +207,10 @@ typedef enum {
|
||||
ZAP_CHANNEL_STATE_BUSY,
|
||||
ZAP_CHANNEL_STATE_ATTN,
|
||||
ZAP_CHANNEL_STATE_IDLE,
|
||||
ZAP_CHANNEL_STATE_GENRING,
|
||||
ZAP_CHANNEL_STATE_INVALID
|
||||
} zap_channel_state_t;
|
||||
#define CHANNEL_STATE_STRINGS "DOWN", "UP", "HANGUP", "HOLD", "DIALTONE", "COLLECT", "RING", "BUSY", "ATTN", "IDLE", "INVALID"
|
||||
#define CHANNEL_STATE_STRINGS "DOWN", "UP", "HANGUP", "HOLD", "DIALTONE", "COLLECT", "RING", "BUSY", "ATTN", "IDLE", "GENRING", "INVALID"
|
||||
ZAP_STR2ENUM_P(zap_str2zap_channel_state, zap_channel_state2str, zap_channel_state_t)
|
||||
|
||||
typedef enum {
|
||||
@@ -222,7 +227,9 @@ typedef enum {
|
||||
ZAP_CHANNEL_FLASH = (1 << 10),
|
||||
ZAP_CHANNEL_STATE_CHANGE = (1 << 11),
|
||||
ZAP_CHANNEL_HOLD = (1 << 12),
|
||||
ZAP_CHANNEL_INUSE = (1 << 13)
|
||||
ZAP_CHANNEL_INUSE = (1 << 13),
|
||||
ZAP_CHANNEL_OFFHOOK = (1 << 14),
|
||||
ZAP_CHANNEL_RINGING = (1 << 15)
|
||||
} zap_channel_flag_t;
|
||||
|
||||
|
||||
@@ -231,6 +238,7 @@ typedef struct zap_event zap_event_t;
|
||||
typedef struct zap_sigmsg zap_sigmsg_t;
|
||||
typedef struct zap_span zap_span_t;
|
||||
|
||||
#define ZIO_CHANNEL_OUTGOING_CALL_ARGS (zap_channel_t *zchan)
|
||||
#define ZIO_SPAN_POLL_EVENT_ARGS (zap_span_t *span, uint32_t ms)
|
||||
#define ZIO_SPAN_NEXT_EVENT_ARGS (zap_span_t *span, zap_event_t **event)
|
||||
#define ZIO_SIGNAL_CB_ARGS (zap_sigmsg_t *sigmsg)
|
||||
@@ -246,6 +254,7 @@ typedef struct zap_span zap_span_t;
|
||||
#define ZIO_READ_ARGS (zap_channel_t *zchan, void *data, zap_size_t *datalen)
|
||||
#define ZIO_WRITE_ARGS (zap_channel_t *zchan, void *data, zap_size_t *datalen)
|
||||
|
||||
typedef zap_status_t (*zio_channel_outgoing_call_t) ZIO_CHANNEL_OUTGOING_CALL_ARGS ;
|
||||
typedef zap_status_t (*zio_span_poll_event_t) ZIO_SPAN_POLL_EVENT_ARGS ;
|
||||
typedef zap_status_t (*zio_span_next_event_t) ZIO_SPAN_NEXT_EVENT_ARGS ;
|
||||
typedef zap_status_t (*zio_signal_cb_t) ZIO_SIGNAL_CB_ARGS ;
|
||||
@@ -261,6 +270,7 @@ typedef zap_status_t (*zio_wait_t) ZIO_WAIT_ARGS ;
|
||||
typedef zap_status_t (*zio_read_t) ZIO_READ_ARGS ;
|
||||
typedef zap_status_t (*zio_write_t) ZIO_WRITE_ARGS ;
|
||||
|
||||
#define ZIO_CHANNEL_OUTGOING_CALL_FUNCTION(name) zap_status_t name ZIO_CHANNEL_OUTGOING_CALL_ARGS
|
||||
#define ZIO_SPAN_POLL_EVENT_FUNCTION(name) zap_status_t name ZIO_SPAN_POLL_EVENT_ARGS
|
||||
#define ZIO_SPAN_NEXT_EVENT_FUNCTION(name) zap_status_t name ZIO_SPAN_NEXT_EVENT_ARGS
|
||||
#define ZIO_SIGNAL_CB_FUNCTION(name) zap_status_t name ZIO_SIGNAL_CB_ARGS
|
||||
@@ -276,16 +286,7 @@ typedef zap_status_t (*zio_write_t) ZIO_WRITE_ARGS ;
|
||||
#define ZIO_READ_FUNCTION(name) zap_status_t name ZIO_READ_ARGS
|
||||
#define ZIO_WRITE_FUNCTION(name) zap_status_t name ZIO_WRITE_ARGS
|
||||
|
||||
#define ZIO_CONFIGURE_SPAN_MUZZLE assert(zio != NULL)
|
||||
#define ZIO_OPEN_MUZZLE assert(zchan != NULL)
|
||||
#define ZIO_CLOSE_MUZZLE assert(zchan != NULL)
|
||||
#define ZIO_COMMAND_MUZZLE assert(zchan != NULL); assert(command != 0); assert(obj != NULL)
|
||||
#define ZIO_WAIT_MUZZLE assert(zchan != NULL); assert(flags != 0); assert(to != 0)
|
||||
#define ZIO_READ_MUZZLE assert(zchan != NULL); assert(data != NULL); assert(datalen != NULL)
|
||||
#define ZIO_WRITE_MUZZLE assert(zchan != NULL); assert(data != NULL); assert(datalen != NULL)
|
||||
|
||||
#define ZAP_PRE __FILE__, __FUNCTION__, __LINE__
|
||||
|
||||
#define ZAP_LOG_LEVEL_DEBUG 7
|
||||
#define ZAP_LOG_LEVEL_INFO 6
|
||||
#define ZAP_LOG_LEVEL_NOTICE 5
|
||||
|
Reference in New Issue
Block a user