aboutsummaryrefslogtreecommitdiffstats
path: root/channels/misdn
diff options
context:
space:
mode:
authorcrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-22 16:48:25 +0000
committercrichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b>2006-02-22 16:48:25 +0000
commitf7d7ce734a7a688f5e97b448f55bf8b2c507051f (patch)
tree5d02f50c02fff2611e9528633b5347c26a273f8d /channels/misdn
parent57847e76ecc15ae7c043dcf8c521528fb5bfeb47 (diff)
fixed a ETSI violation (after RELEASE we need to RELEASE_COMPLETE (network side) one needs to upgread mISDNuser for that fix as well. also fixed the reload issue #6547
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@10713 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/misdn')
-rw-r--r--channels/misdn/isdn_lib.c19
-rw-r--r--channels/misdn/isdn_msg_parser.c4
2 files changed, 12 insertions, 11 deletions
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index ee0e988de..8839be0f1 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -1659,13 +1659,13 @@ handle_event_nt(void *dat, void *arg)
case CC_RELEASE|CONFIRM:
{
- struct misdn_bchannel *bc=find_bc_by_l3id(stack, hh->dinfo);
- cb_log(3, stack->port, " --> RELEASE CONFIRM, doing nothin\n");
- cb_event(EVENT_CLEANUP, bc, glob_mgr->user_data);
- empty_chan_in_stack(stack,bc->channel);
- empty_bc(bc);
- free_msg(msg);
- return 0;
+ /*struct misdn_bchannel *bc=find_bc_by_l3id(stack, hh->dinfo);
+ cb_log(3, stack->port, " --> RELEASE CONFIRM, doing nothin\n");
+ cb_event(EVENT_CLEANUP, bc, glob_mgr->user_data);
+ empty_chan_in_stack(stack,bc->channel);
+ empty_bc(bc);
+ free_msg(msg);
+ return 0;*/
}
break;
case CC_RELEASE|INDICATION:
@@ -2035,7 +2035,7 @@ int handle_bchan(msg_t *msg)
int i=cb_event( EVENT_BCHAN_DATA, bc, glob_mgr->user_data);
if (i<0) {
- cb_log(2,stack->port,"cb_event returned <0\n");
+ cb_log(5,stack->port,"cb_event returned <0\n");
/*clean_up_bc(bc);*/
}
}
@@ -2990,11 +2990,12 @@ int misdn_lib_init(char *portlist, struct misdn_lib_iface *iface, void *user_dat
glob_mgr = mgr;
msg_init();
- debug_init(0 , NULL, NULL, NULL);
#if 0
int flags=0xff;
flags &= ~DBGM_MSG;
debug_init( flags , NULL, NULL, NULL);
+#else
+ debug_init(0 , NULL, NULL, NULL);
#endif
if (!portlist || (*portlist == 0) ) return 1;
diff --git a/channels/misdn/isdn_msg_parser.c b/channels/misdn/isdn_msg_parser.c
index a8d9c1bea..5bce3f523 100644
--- a/channels/misdn/isdn_msg_parser.c
+++ b/channels/misdn/isdn_msg_parser.c
@@ -798,8 +798,8 @@ msg_t *build_release (struct isdn_msg msgs[], struct misdn_bchannel *bc, int nt)
release=(RELEASE_t*)((msg->data+HEADER_LEN));
-
- enc_ie_cause(&release->CAUSE, msg, nt?1:0, bc->out_cause, nt,bc);
+ if (bc->out_cause>= 0)
+ enc_ie_cause(&release->CAUSE, msg, nt?1:0, bc->out_cause, nt,bc);
#if DEBUG
printf("Building RELEASE Msg\n");