mirror of
https://github.com/signalwire/freeswitch.git
synced 2026-10-20 02:04:13 +00:00
add hold-music 3way blind and attended transfer to openzap
git-svn-id: http://svn.openzap.org/svn/openzap/trunk@361 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
1 parent
e203b777f2
commit
9d760b645d
6 files changed
+180
-20
No files matched your search
@@ -313,6 +313,7 @@ struct zap_caller_data {
|
||||
char aniII[25];
|
||||
char dnis[25];
|
||||
char rdnis[25];
|
||||
char collected[25];
|
||||
int CRV;
|
||||
int hangup_cause;
|
||||
uint8_t raw_data[1024];
|
||||
|
||||
@@ -181,10 +181,11 @@ typedef enum {
|
||||
ZAP_SIGEVENT_ALARM_CLEAR,
|
||||
ZAP_SIGEVENT_MISC,
|
||||
ZAP_SIGEVENT_COLLECTED_DIGIT,
|
||||
ZAP_SIGEVENT_ADD_CALL,
|
||||
ZAP_SIGEVENT_INVALID
|
||||
} zap_signal_event_t;
|
||||
#define SIGNAL_STRINGS "START", "STOP", "TRANSFER", "ANSWER", "UP", "FLASH", "PROGRESS", \
|
||||
"PROGRESS_MEDIA", "NOTIFY", "TONE_DETECTED", "ALARM_TRAP", "ALARM_CLEAR", "MISC", "COLLECTED_DIGIT", "INVALID"
|
||||
"PROGRESS_MEDIA", "NOTIFY", "TONE_DETECTED", "ALARM_TRAP", "ALARM_CLEAR", "MISC", "COLLECTED_DIGIT", "ADD_CALL", "INVALID"
|
||||
ZAP_STR2ENUM_P(zap_str2zap_signal_event, zap_signal_event2str, zap_signal_event_t)
|
||||
|
||||
typedef enum {
|
||||
@@ -326,7 +327,8 @@ typedef enum {
|
||||
ZAP_CHANNEL_PROGRESS_DETECT = (1 << 16),
|
||||
ZAP_CHANNEL_CALLERID_DETECT = (1 << 17),
|
||||
ZAP_CHANNEL_OUTBOUND = (1 << 18),
|
||||
ZAP_CHANNEL_SUSPENDED = (1 << 19)
|
||||
ZAP_CHANNEL_SUSPENDED = (1 << 19),
|
||||
ZAP_CHANNEL_3WAY = (1 << 20)
|
||||
} zap_channel_flag_t;
|
||||
|
||||
typedef struct zap_channel zap_channel_t;
|
||||
|
||||
@@ -372,7 +372,7 @@ static void *zap_analog_channel_run(zap_thread_t *me, void *obj)
|
||||
|
||||
if (zap_test_flag(zchan, ZAP_CHANNEL_HOLD)) {
|
||||
zap_clear_flag(zchan, ZAP_CHANNEL_HOLD);
|
||||
sig.event_id = ZAP_SIGEVENT_FLASH;
|
||||
sig.event_id = ZAP_SIGEVENT_ADD_CALL;
|
||||
} else {
|
||||
sig.event_id = ZAP_SIGEVENT_UP;
|
||||
}
|
||||
@@ -707,10 +707,6 @@ static __inline__ zap_status_t process_event(zap_span_t *span, zap_event_t *even
|
||||
} else {
|
||||
sig.event_id = ZAP_SIGEVENT_FLASH;
|
||||
analog_data->sig_cb(&sig);
|
||||
if (event->channel->token_count == 1) {
|
||||
zap_set_flag_locked(event->channel, ZAP_CHANNEL_HOLD);
|
||||
zap_set_state_locked(event->channel, ZAP_CHANNEL_STATE_DIALTONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -558,7 +558,7 @@ static ZIO_CONFIGURE_SPAN_FUNCTION(pika_configure_span)
|
||||
{
|
||||
int items, i;
|
||||
char *mydata, *item_list[10];
|
||||
char *bd, *sp, *ch, *mx;
|
||||
char *bd, *sp, *ch = NULL, *mx;
|
||||
int boardno;
|
||||
int channo;
|
||||
int spanno;
|
||||
@@ -978,7 +978,7 @@ static ZIO_SPAN_POLL_EVENT_FUNCTION(pika_poll_event)
|
||||
|
||||
static ZIO_SPAN_NEXT_EVENT_FUNCTION(pika_next_event)
|
||||
{
|
||||
uint32_t i, event_id;
|
||||
uint32_t i, event_id = 0;
|
||||
|
||||
for(i = 1; i <= span->chan_count; i++) {
|
||||
if (zap_test_flag((&span->channels[i]), ZAP_CHANNEL_EVENT)) {
|
||||
|
||||
@@ -568,8 +568,8 @@ ZIO_SPAN_POLL_EVENT_FUNCTION(zt_poll_event)
|
||||
|
||||
ZIO_SPAN_NEXT_EVENT_FUNCTION(zt_next_event)
|
||||
{
|
||||
uint32_t i, event_id;
|
||||
zap_oob_event_t zt_event_id;
|
||||
uint32_t i, event_id = 0;
|
||||
zap_oob_event_t zt_event_id = 0;
|
||||
|
||||
for(i = 1; i <= span->chan_count; i++) {
|
||||
if (zap_test_flag((&span->channels[i]), ZAP_CHANNEL_EVENT)) {
|
||||
|
||||
Reference in new issue
Block a user