removed dynamic switching from transparent to hdlc mode. Instead we've got a config option hdlc=yes now which enables the hdlc controller for a data call

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@13637 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Christian Richter
2006-03-20 18:04:05 +00:00
parent 3cb5768016
commit 52eb1ad9d1
5 changed files with 39 additions and 4 deletions

View File

@@ -1106,6 +1106,21 @@ static int update_config (struct chan_list *ch, int orig)
chan_misdn_log(1,port,"update_config: Getting Config\n");
int hdlc=0;
misdn_cfg_get( port, MISDN_CFG_HDLC, &hdlc, sizeof(int));
if (hdlc) {
switch (bc->capability) {
case INFO_CAPABILITY_DIGITAL_UNRESTRICTED:
case INFO_CAPABILITY_DIGITAL_RESTRICTED:
chan_misdn_log(1,bc->port," --> CONF HDLC\n");
bc->hdlc=1;
break;
}
}
int pres, screen;
misdn_cfg_get( port, MISDN_CFG_PRES, &pres, sizeof(int));
@@ -1244,7 +1259,19 @@ static int read_config(struct chan_list *ch, int orig) {
misdn_cfg_get( port, MISDN_CFG_NEED_MORE_INFOS, &bc->need_more_infos, sizeof(int));
int hdlc=0;
misdn_cfg_get( port, MISDN_CFG_HDLC, &hdlc, sizeof(int));
if (hdlc) {
switch (bc->capability) {
case INFO_CAPABILITY_DIGITAL_UNRESTRICTED:
case INFO_CAPABILITY_DIGITAL_RESTRICTED:
chan_misdn_log(1,bc->port," --> CONF HDLC\n");
bc->hdlc=1;
break;
}
}
/*Initialize new Jitterbuffer*/
{
misdn_cfg_get( port, MISDN_CFG_JITTERBUFFER, &ch->jb_len, sizeof(int));

View File

@@ -27,6 +27,7 @@ enum misdn_cfg_elements {
MISDN_CFG_TXGAIN, /* int */
MISDN_CFG_TE_CHOOSE_CHANNEL, /* int (bool) */
MISDN_CFG_PMP_L1_CHECK, /* int (bool) */
MISDN_CFG_HDLC, /* int (bool) */
MISDN_CFG_CONTEXT, /* char[] */
MISDN_CFG_LANGUAGE, /* char[] */
MISDN_CFG_MUSICCLASS, /* char[] */

View File

@@ -818,9 +818,11 @@ int setup_bc(struct misdn_bchannel *bc)
int channel=bc->channel-1-(bc->channel>16);
int b_stid=stack->b_stids[channel>=0?channel:0];
#if 0
if (bc->hdlc) {
clean_up_bc(bc);
}
#endif
if (bc->upset) {
cb_log(4, stack->port, "$$$ bc already upsetted stid :%x\n", b_stid);
@@ -946,9 +948,7 @@ int setup_bc(struct misdn_bchannel *bc)
bc->upset=1;
manager_bchannel_deactivate(bc);
return 0;
}

View File

@@ -88,6 +88,7 @@ static const struct misdn_cfg_spec port_spec[] = {
{ "txgain", MISDN_CFG_TXGAIN, MISDN_CTYPE_INT, "0", NONE },
{ "te_choose_channel", MISDN_CFG_TE_CHOOSE_CHANNEL, MISDN_CTYPE_BOOL, "no", NONE },
{ "pmp_l1_check", MISDN_CFG_PMP_L1_CHECK, MISDN_CTYPE_BOOL, "yes", NONE },
{ "hdlc", MISDN_CFG_HDLC, MISDN_CTYPE_BOOL, "no", NONE },
{ "context", MISDN_CFG_CONTEXT, MISDN_CTYPE_STR, "default", NONE },
{ "language", MISDN_CFG_LANGUAGE, MISDN_CTYPE_STR, "en", NONE },
{ "musicclass", MISDN_CFG_MUSICCLASS, MISDN_CTYPE_STR, "default", NONE },

View File

@@ -287,6 +287,12 @@ jitterbuffer=4000
jitterbuffer_upper_threshold=0
;
; change this to yes, if you want to bridge a mISDN data channel to
; another channel type or to an application.
;
hdlc=no
[intern]
; define your ports, e.g. 1,2 (depends on mISDN-driver loading order)
ports=1,2