From 3b30bdeca23b61b4af2c057677781754d43b79e0 Mon Sep 17 00:00:00 2001 From: crichter Date: Mon, 11 Jun 2007 16:57:59 +0000 Subject: Merged revisions 68732 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r68732 | crichter | 2007-06-11 18:49:00 +0200 (Mo, 11 Jun 2007) | 1 line added check for NULL Pointer when calling misdn_new. Asterisk does not allow us to create channels anymore when stop gracefully is used :). also modified the restart_indicator to 0 ........ git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@68733 f38db490-d61c-443f-a65b-d21fe96a405b --- channels/chan_misdn.c | 12 ++++++++++++ channels/misdn/isdn_msg_parser.c | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'channels') diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 5157302b7..1539c9498 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -3170,6 +3170,11 @@ static struct ast_channel *misdn_request(const char *type, int format, void *dat cl->bc=newbc; tmp = misdn_new(cl, AST_STATE_RESERVED, ext, NULL, format, port, channel); + if (!tmp) { + ast_log(LOG_ERROR,"Could not create Asterisk object\n"); + return NULL; + } + cl->ast=tmp; /* register chan in local list */ @@ -4103,6 +4108,13 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) ch->originator = ORG_MISDN; chan=misdn_new(ch, AST_STATE_RESERVED,bc->dad, bc->oad, AST_FORMAT_ALAW, bc->port, bc->channel); + + if (!chan) { + misdn_lib_send_event(bc,EVENT_RELEASE_COMPLETE); + ast_log(LOG_ERROR, "cb_events: misdn_new failed !\n"); + return 0; + } + ch->ast = chan; if ((exceed=add_in_calls(bc->port))) { diff --git a/channels/misdn/isdn_msg_parser.c b/channels/misdn/isdn_msg_parser.c index 8534e4e74..791b02fb3 100644 --- a/channels/misdn/isdn_msg_parser.c +++ b/channels/misdn/isdn_msg_parser.c @@ -839,7 +839,7 @@ static msg_t *build_restart (struct isdn_msg msgs[], struct misdn_bchannel *bc, printf("Building RESTART Msg\n"); #endif enc_ie_channel_id(&restart->CHANNEL_ID, msg, 1,bc->channel, nt,bc); - enc_ie_restart_ind(&restart->RESTART_IND, msg, 0x80, nt, bc); + enc_ie_restart_ind(&restart->RESTART_IND, msg, 0, nt, bc); cb_log(0,bc->port, "Restarting channel %d\n", bc->channel); -- cgit v1.2.3