diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-12 13:33:13 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-12 13:33:13 +0000 |
commit | 6bc7693d58885b4e0bc321c1e0213ff5a2f56145 (patch) | |
tree | 72633d24a1dab0b13f17ffef5f455ad5869524ab /channels/chan_misdn.c | |
parent | 4b753c1924e930b594a079d03ea2813f72774bc2 (diff) |
Merged revisions 89172 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r89172 | crichter | 2007-11-12 12:23:57 +0100 (Mo, 12 Nov 2007) | 1 line
added restart all interfaces Restart_Indicator, to automatically send a RESTART after the L2 of a PTP Port comes up. Also fixed some places where we have send a RELEASE without need for it.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89178 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r-- | channels/chan_misdn.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 066c981f5..ef7302be6 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -2655,6 +2655,7 @@ static int misdn_hangup(struct ast_channel *ast) start_bc_tones(p); hanguptone_indicate(p); + p->state=MISDN_CLEANING; if (bc->need_disconnect) misdn_lib_send_event( bc, EVENT_DISCONNECT); break; @@ -2690,7 +2691,8 @@ static int misdn_hangup(struct ast_channel *ast) /*p->state=MISDN_CLEANING;*/ break; case MISDN_DISCONNECTED: - misdn_lib_send_event( bc, EVENT_RELEASE); + if (bc->need_release) + misdn_lib_send_event( bc, EVENT_RELEASE); p->state = MISDN_CLEANING; /* MISDN_HUNGUP_FROM_AST; */ break; @@ -2708,13 +2710,15 @@ static int misdn_hangup(struct ast_channel *ast) chan_misdn_log(1, bc->port, " --> out_cause %d\n", bc->out_cause); bc->out_cause = -1; - misdn_lib_send_event(bc, EVENT_RELEASE); + if (bc->need_release) + misdn_lib_send_event(bc, EVENT_RELEASE); p->state = MISDN_CLEANING; break; default: if (bc->nt) { bc->out_cause = -1; - misdn_lib_send_event(bc, EVENT_RELEASE); + if (bc->need_release) + misdn_lib_send_event(bc, EVENT_RELEASE); p->state = MISDN_CLEANING; } else { if (bc->need_disconnect) |