X-Git-Url: http://git.eversberg.eu/gitweb.cgi?p=lcr.git;a=blobdiff_plain;f=mISDN.h;h=db1a8cb3106175c3f79be6c5c6e94ba12a0efff4;hp=1798b883da671b4704b999285d96fd676a29cd18;hb=54d34cda7a6f0d9bd3ff22d529ce69ff2c004bd3;hpb=e9daaa4ef7ee895e6a8610ebb2166cc99c891a4e diff --git a/mISDN.h b/mISDN.h index 1798b88..db1a8cb 100644 --- a/mISDN.h +++ b/mISDN.h @@ -1,6 +1,6 @@ /*****************************************************************************\ ** ** -** PBX4Linux ** +** Linux Call Router ** ** ** **---------------------------------------------------------------------------** ** Copyright: Andreas Eversberg ** @@ -46,8 +46,8 @@ struct mISDNport { int use; /* counts the number of port that uses this port */ int ntmode; /* is TRUE if port is nt mode */ int pri; /* is TRUE if port is a primary rate interface */ - int is_tones; /* TRUE if tones are sent outside connect state */ - int is_earlyb; /* TRUE if tones are received outside connect state */ + int tones; /* TRUE if tones are sent outside connect state */ + int earlyb; /* TRUE if tones are received outside connect state */ int upper_id; /* id to transfer data down */ int lower_id; /* id to transfer data up */ int d_stid; @@ -58,6 +58,7 @@ struct mISDNport { int b_addr[128]; int b_state[128]; /* state 0 = IDLE */ int procids[128]; /* keep track of free ids */ + int locally; /* local causes are sent as local causes not remote */ msg_queue_t downqueue; /* l4->l3 */ }; extern mISDNport *mISDNport_first; @@ -78,8 +79,10 @@ calls with no bchannel (call waiting, call on hold). /* mISDN none-object functions */ +int mISDN_initialize(void); +void mISDN_deinitialize(void); void mISDN_port_info(void); -struct mISDNport *mISDNport_open(int port, int ptp, int ptmp); +struct mISDNport *mISDNport_open(int port, int ptp, int ptmp, struct interface *interface); void mISDNport_close_all(void); void mISDNport_close(struct mISDNport *mISDNport); void mISDN_port_reorder(void); @@ -117,11 +120,14 @@ class PmISDN : public Port // int p_m_nodata; /* all parties within a conf are isdn ports, so pure bridging is possible */ int p_m_txdata; /* get what we transmit */ int p_m_dtmf; /* dtmf decoding is enabled */ - int p_m_calldata; /* the call requires data due to no briging capability */ - - int p_m_fromup_buffer_readp; /* buffer for audio from remote endpoint */ - int p_m_fromup_buffer_writep; - unsigned char p_m_fromup_buffer[FROMUP_BUFFER_SIZE]; + int p_m_joindata; /* the call requires data due to no briging capability */ + + int p_m_load; /* current data in dsp tx buffer */ + unsigned long p_m_last_tv_sec; /* time stamp of last handler call, (to sync audio data */ + unsigned long p_m_last_tv_msec; +// int p_m_fromup_buffer_readp; /* buffer for audio from remote endpoint */ +// int p_m_fromup_buffer_writep; +// unsigned char p_m_fromup_buffer[FROMUP_BUFFER_SIZE]; void txfromup(unsigned char *data, int length); int p_m_crypt; /* encryption is enabled */ @@ -146,8 +152,8 @@ class PmISDN : public Port int p_m_b_channel; /* number 1,2 1..15,17... */ int p_m_b_exclusive; /* if bchannel is exclusive */ int p_m_b_reserve; /* set if channel is reserved */ - long long p_m_jittercheck; /* time of audio data */ - long long p_m_jitterdropped; /* number of bytes dropped */ +// long long p_m_jittercheck; /* time of audio data */ +// long long p_m_jitterdropped; /* number of bytes dropped */ int p_m_delete; /* true if obj. must del. */ int p_m_hold; /* if port is on hold */ unsigned long p_m_timeout; /* timeout of timers */