summaryrefslogtreecommitdiff
path: root/channels/misdn/isdn_lib_intern.h
diff options
context:
space:
mode:
authorRichard Mudgett <rmudgett@digium.com>2009-04-21 17:44:01 +0000
committerRichard Mudgett <rmudgett@digium.com>2009-04-21 17:44:01 +0000
commit6bb2b6c096cc8c56d0a01fb17d9723b8c5b92d0e (patch)
tree274e051566d5d31050dc6c64f1ae79bc83bf38a5 /channels/misdn/isdn_lib_intern.h
parentcf95f3a1180b6e3078ca3ceaf1a28570ba340ace (diff)
Added CCBS/CCNR Party A support and enhanced COLP support.
This change adds the following features to chan_misdn: * CCBS/CCNR Party A support for PTMP and PTP modes. * Enhances COLP support for call diversion and explicit call transfer. These enhanced features require a modified version of mISDN. The latest modified mISDN v1.1.x based version is available at: http://svn.digium.com/svn/thirdparty/mISDN/trunk http://svn.digium.com/svn/thirdparty/mISDNuser/trunk Taged versions of the modified mISDN code are available under: http://svn.digium.com/svn/thirdparty/mISDN/tags http://svn.digium.com/svn/thirdparty/mISDNuser/tags Review: http://reviewboard.digium.com/r/218/ Merged from team/rmudgett/misdn_facility branch. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/misdn/isdn_lib_intern.h')
-rw-r--r--channels/misdn/isdn_lib_intern.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/channels/misdn/isdn_lib_intern.h b/channels/misdn/isdn_lib_intern.h
index 3347fe335..7e7ea8a61 100644
--- a/channels/misdn/isdn_lib_intern.h
+++ b/channels/misdn/isdn_lib_intern.h
@@ -51,7 +51,15 @@ struct isdn_msg {
/* for isdn_msg_parser.c */
msg_t *create_l3msg(int prim, int mt, int dinfo , int size, int nt);
+#if defined(AST_MISDN_ENHANCEMENTS)
+/* Max call-completion REGISTER signaling links per stack/port */
+#define MISDN_MAX_REGISTER_LINKS MAX_BCHANS
+#else
+/* Max call-completion REGISTER signaling links per stack/port */
+#define MISDN_MAX_REGISTER_LINKS 0
+#endif /* defined(AST_MISDN_ENHANCEMENTS) */
+#define MAXPROCS 0x100
struct misdn_stack {
/** is first element because &nst equals &mISDNlist **/
@@ -87,8 +95,6 @@ struct misdn_stack {
/*! \brief TRUE if Layer 2 is UP */
int l2link;
- time_t l2establish; /* Not used */
-
/*! \brief TRUE if Layer 1 is UP */
int l1link;
@@ -105,7 +111,7 @@ struct misdn_stack {
int pri;
/*! \brief CR Process ID allocation table. TRUE if ID allocated */
- int procids[0x100+1];
+ int procids[MAXPROCS];
/*! \brief Queue of Event messages to send to mISDN */
msg_queue_t downqueue;
@@ -115,13 +121,17 @@ struct misdn_stack {
/*! \brief Logical Layer 1 port associated with this stack */
int port;
- /*! \brief B Channel record pool array */
- struct misdn_bchannel bc[MAX_BCHANS + 1];
-
- struct misdn_bchannel* bc_list; /* Not used */
-
- /*! \brief Array of B channels in use (a[0] = B1). TRUE if B channel in use */
- int channels[MAX_BCHANS + 1];
+ /*!
+ * \brief B Channel record pool array
+ * (Must be dimensioned the same as struct misdn_stack.channels[])
+ */
+ struct misdn_bchannel bc[MAX_BCHANS + 1 + MISDN_MAX_REGISTER_LINKS];
+
+ /*!
+ * \brief Array of B channels in use (a[0] = B1). TRUE if B channel in use.
+ * (Must be dimensioned the same as struct misdn_stack.bc[])
+ */
+ char channels[MAX_BCHANS + 1 + MISDN_MAX_REGISTER_LINKS];
/*! \brief List of holded channels */
struct misdn_bchannel *holding;