summaryrefslogtreecommitdiffstats
path: root/mISDN.h
diff options
context:
space:
mode:
authorAndreas Eversberg2009-09-26 13:20:29 +0200
committerAndreas Eversberg2009-09-26 13:20:29 +0200
commit323cbc387b1a068f8e2bcfd1034666406ba18c93 (patch)
treeee251a238dde61870ef4bef687e7fcb6fff1f749 /mISDN.h
parentSome minor corrections on default/interface.conf (diff)
downloadlcr-323cbc387b1a068f8e2bcfd1034666406ba18c93.tar.gz
lcr-323cbc387b1a068f8e2bcfd1034666406ba18c93.tar.xz
lcr-323cbc387b1a068f8e2bcfd1034666406ba18c93.zip
Added support for signalling system no. 5.
More infos will follow on the isdn4linux mailing list. modified: Makefile.am modified: Makefile.in modified: README modified: apppbx.cpp modified: configure modified: configure.ac modified: default/options.conf modified: dss1.cpp modified: ie.cpp modified: interface.c modified: interface.h modified: lcradmin.c modified: lcrsocket.h modified: mISDN.cpp modified: mISDN.h modified: main.c modified: main.h modified: port.h modified: socket_server.c new file: ss5.cpp new file: ss5.h new file: ss5_decode.c new file: ss5_decode.h new file: ss5_encode.c new file: ss5_encode.h
Diffstat (limited to 'mISDN.h')
-rw-r--r--mISDN.h20
1 files changed, 19 insertions, 1 deletions
diff --git a/mISDN.h b/mISDN.h
index 4f1e596..f8d2341 100644
--- a/mISDN.h
+++ b/mISDN.h
@@ -67,6 +67,9 @@ struct mISDNport {
/* gsm */
int gsm; /* this is the (only) GSM interface */
int lcr_sock; /* socket of loopback on LCR side */
+
+ /* ss5 */
+ unsigned int ss5; /* set, if SS5 signalling enabled, also holds feature bits */
};
extern mISDNport *mISDNport_first;
@@ -89,7 +92,8 @@ calls with no bchannel (call waiting, call on hold).
int mISDN_initialize(void);
void mISDN_deinitialize(void);
int mISDN_getportbyname(int sock, int cnt, char *portname);
-struct mISDNport *mISDNport_open(int port, char *portname, int ptp, int force_nt, int te_special, int l1hold, int l2hold, struct interface *interface, int gsm);
+struct mISDNport *mISDNport_open(int port, char *portname, int ptp, int force_nt, int te_special, int l1hold, int l2hold, struct interface *interface, int gsm, unsigned int ss5);
+void mISDNport_static(struct mISDNport *mISDNport);
void mISDNport_close_all(void);
void mISDNport_close(struct mISDNport *mISDNport);
void mISDN_port_reorder(void);
@@ -121,6 +125,7 @@ class PmISDN : public Port
int p_m_tx_gain, p_m_rx_gain; /* volume shift (0 = no change) */
char p_m_pipeline[256]; /* filter pipeline */
int p_m_echo, p_m_conf; /* remote echo, conference number */
+ int p_m_mute; /* if set, conf is disconnected */
int p_m_tone; /* current kernel space tone */
int p_m_rxoff; /* rx from driver is disabled */
// int p_m_nodata; /* all parties within a conf are isdn ports, so pure bridging is possible */
@@ -152,6 +157,7 @@ class PmISDN : public Port
void set_tone(const char *dir, const char *name);
void set_echotest(int echotest);
+ void set_conf(int oldconf, int newconf);
int p_m_portnum; /* used port number (1...n) */
int p_m_b_index; /* index 0,1 0..29 */
@@ -168,6 +174,18 @@ class PmISDN : public Port
unsigned int p_m_remote_ref; /* join to export bchannel to */
int p_m_remote_id; /* sock to export bchannel to */
+ int p_m_inband_send_on; /* triggers optional send function */
+ int p_m_inband_receive_on; /* triggers optional receive function */
+ int p_m_mute_on; /* if mute is on, bridge is removed */
+ virtual int inband_send(unsigned char *buffer, int len);
+ void inband_send_on(void);
+ void inband_send_off(void);
+ virtual void inband_receive(unsigned char *buffer, int len);
+ void inband_receive_on(void);
+ void inband_receive_off(void);
+ void mute_on(void);
+ void mute_off(void);
+
int seize_bchannel(int channel, int exclusive); /* requests / reserves / links bchannels, but does not open it! */
void drop_bchannel(void);
};