RELATION_TYPE_CONNECT, /* interface is connected */
};
-enum { /* relation audio state */
- CHANNEL_STATE_CONNECT, /* endpoint is connected to the join voice transmission in both dirs */
- CHANNEL_STATE_HOLD, /* endpoint is on hold state, no audio */
-};
-
enum { /* states that results from last notification */
NOTIFY_STATE_ACTIVE, /* just the normal case, the party is active */
NOTIFY_STATE_SUSPEND, /* the party is inactive, because she has parked */
struct join_relation { /* relation to an interface */
struct join_relation *next; /* next node */
int type; /* type of relation */
- unsigned long epoint_id; /* interface to link join to */
+ unsigned int epoint_id; /* interface to link join to */
int channel_state; /* if audio is available */
int rx_state; /* current state of what we received from endpoint */
int tx_state; /* current state of what we sent to endpoint */
public:
JoinPBX(class Endpoint *epoint);
~JoinPBX();
- void message_epoint(unsigned long epoint_id, int message, union parameter *param);
+ void message_epoint(unsigned int epoint_id, int message, union parameter *param);
int handler(void);
int release(struct join_relation *relation, int location, int cause);
- char c_caller[32]; /* caller number */
- char c_caller_id[32]; /* caller id to signal */
- char c_dialed[1024]; /* dial string of (all) number(s) */
- char c_todial[32]; /* overlap dialing (part not signalled yet) */
- int c_multicause, c_multilocation;
+ char j_caller[32]; /* caller number */
+ char j_caller_id[32]; /* caller id to signal */
+ char j_dialed[1024]; /* dial string of (all) number(s) */
+ char j_todial[32]; /* overlap dialing (part not signalled yet) */
+ int j_multicause, j_multilocation;
- int c_pid; /* pid of join to generate bridge id */
- int c_updatebridge; /* bridge must be updated */
- struct join_relation *c_relation; /* list of endpoints that are related to the join */
+ int j_pid; /* pid of join to generate bridge id */
+ int j_updatebridge; /* bridge must be updated */
+ struct join_relation *j_relation; /* list of endpoints that are related to the join */
- int c_partyline; /* if set, join is conference room */
+ int j_partyline; /* if set, join is conference room */
+ int j_partyline_jingle; /* also play jingle on join/leave */
void bridge(void);
- void bridge_data(unsigned long epoint_from, struct join_relation *relation_from, union parameter *param);
+ void bridge_data(unsigned int epoint_from, struct join_relation *relation_from, union parameter *param);
void remove_relation(struct join_relation *relation);
struct join_relation *add_relation(void);
- int out_setup(unsigned long epoint_id, int message, union parameter *param, char *newnumber);
+ int out_setup(unsigned int epoint_id, int message, union parameter *param, char *newnumber);
+ void play_jingle(int in);
};
void joinpbx_debug(class JoinPBX *joinpbx, char *function);
-int joinpbx_countrelations(unsigned long join_id);
+int joinpbx_countrelations(unsigned int join_id);
int track_notify(int oldstate, int notify);