summaryrefslogtreecommitdiffstats
path: root/apppbx.cpp
diff options
context:
space:
mode:
authorSuper User2008-07-26 17:42:16 +0200
committerSuper User2008-07-26 17:42:16 +0200
commitff4d197d5ecb2cb29a55f78b260ab387e3afc80d (patch)
tree3db42ea3a70133f12c8208bdc58f2c4c00ad8a3e /apppbx.cpp
parentmany fixes on HDLC issues (diff)
downloadlcr-ff4d197d5ecb2cb29a55f78b260ab387e3afc80d.tar.gz
lcr-ff4d197d5ecb2cb29a55f78b260ab387e3afc80d.tar.xz
lcr-ff4d197d5ecb2cb29a55f78b260ab387e3afc80d.zip
now LCR features real HDLC bchannel mode.
-> if initial caller uses pure data mode (or video), the bchannels for this call are handled in HDLC mode. (hardware/software briding is still applicable.) modified: apppbx.cpp modified: chan_lcr.c modified: dss1.cpp modified: dss1.h modified: lcradmin.c modified: lcrsocket.h modified: mISDN.cpp modified: mISDN.h modified: message.h modified: socket_server.c
Diffstat (limited to 'apppbx.cpp')
-rw-r--r--apppbx.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/apppbx.cpp b/apppbx.cpp
index c280d20..ffb7ebe 100644
--- a/apppbx.cpp
+++ b/apppbx.cpp
@@ -845,6 +845,10 @@ void EndpointAppPBX::out_setup(void)
struct port_settings port_settings;
int channel = 0;
int earlyb;
+ int mode = B_MODE_TRANSPARENT;
+
+ /* set bchannel mode */
+ mode = e_capainfo.source_mode;
/* create settings for creating port */
memset(&port_settings, 0, sizeof(port_settings));
@@ -983,7 +987,7 @@ void EndpointAppPBX::out_setup(void)
}
/* creating INTERNAL port */
SPRINT(portname, "%s-%d-out", mISDNport->ifport->interface->name, mISDNport->portnum);
- port = new Pdss1((mISDNport->ntmode)?PORT_TYPE_DSS1_NT_OUT:PORT_TYPE_DSS1_TE_OUT, mISDNport, portname, &port_settings, channel, mISDNport->ifport->channel_force);
+ port = new Pdss1((mISDNport->ntmode)?PORT_TYPE_DSS1_NT_OUT:PORT_TYPE_DSS1_TE_OUT, mISDNport, portname, &port_settings, channel, mISDNport->ifport->channel_force, mode);
if (!port)
FATAL("No memory for DSS1 Port instance\n");
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) got port %s\n", ea_endpoint->ep_serial, port->p_name);
@@ -1091,7 +1095,7 @@ void EndpointAppPBX::out_setup(void)
{
/* creating EXTERNAL port*/
SPRINT(portname, "%s-%d-out", mISDNport->ifport->interface->name, mISDNport->portnum);
- if (!(port = new Pdss1((mISDNport->ntmode)?PORT_TYPE_DSS1_NT_OUT:PORT_TYPE_DSS1_TE_OUT, mISDNport, portname, &port_settings, channel, mISDNport->ifport->channel_force)))
+ if (!(port = new Pdss1((mISDNport->ntmode)?PORT_TYPE_DSS1_NT_OUT:PORT_TYPE_DSS1_TE_OUT, mISDNport, portname, &port_settings, channel, mISDNport->ifport->channel_force, mode)))
FATAL("No memory for DSS1 Port instance\n");
earlyb = mISDNport->earlyb;
} else
@@ -1185,7 +1189,7 @@ void EndpointAppPBX::out_setup(void)
}
/* creating EXTERNAL port*/
SPRINT(portname, "%s-%d-out", mISDNport->ifport->interface->name, mISDNport->portnum);
- if (!(port = new Pdss1((mISDNport->ntmode)?PORT_TYPE_DSS1_NT_OUT:PORT_TYPE_DSS1_TE_OUT, mISDNport, portname, &port_settings, channel, mISDNport->ifport->channel_force)))
+ if (!(port = new Pdss1((mISDNport->ntmode)?PORT_TYPE_DSS1_NT_OUT:PORT_TYPE_DSS1_TE_OUT, mISDNport, portname, &port_settings, channel, mISDNport->ifport->channel_force, mode)))
FATAL("No memory for DSS1 Port instance\n");
earlyb = mISDNport->earlyb;
PDEBUG(DEBUG_EPOINT, "EPOINT(%d) created port %s\n", ea_endpoint->ep_serial, port->p_name);