summaryrefslogtreecommitdiff
path: root/channels/chan_dahdi.c
diff options
context:
space:
mode:
authorAlec L Davis <sivad.a@paradise.net.nz>2012-02-18 08:02:08 +0000
committerAlec L Davis <sivad.a@paradise.net.nz>2012-02-18 08:02:08 +0000
commita4f6d96b2e7774521076e6b8648af14f49e7a5bd (patch)
tree4bf8aa8f0ef379f64b08dfc576d9621b811d1f6d /channels/chan_dahdi.c
parent3816fdde94216189e9bbe956a2ec520d8f2c62fa (diff)
push 'outgoing' flag from sig_XXX up to chan_dahdi
'p->outgoing' in chan_dahdi and sig_analog wern't kept in sync, particulary FXS ast_hangup didn't clear the 'outgoing' flag. sig_pri and sig_ss7 were keeping 'outgoing' flag insync. Now provides a callback for all the low level sig_XXX modules. (issue ASTERISK-19316) alecdavis (license 585) Reported by: Jeremy Pepper Tested by: alecdavis Review: https://reviewboard.asterisk.org/r/1747/ ........ Merged revisions 355850 from http://svn.asterisk.org/svn/asterisk/branches/1.8 ........ Merged revisions 355851 from http://svn.asterisk.org/svn/asterisk/branches/10 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@355852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_dahdi.c')
-rw-r--r--channels/chan_dahdi.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/channels/chan_dahdi.c b/channels/chan_dahdi.c
index 560fb02d4..73bfcfe8c 100644
--- a/channels/chan_dahdi.c
+++ b/channels/chan_dahdi.c
@@ -2277,6 +2277,13 @@ static void my_set_dialing(void *pvt, int is_dialing)
p->dialing = is_dialing;
}
+static void my_set_outgoing(void *pvt, int is_outgoing)
+{
+ struct dahdi_pvt *p = pvt;
+
+ p->outgoing = is_outgoing;
+}
+
#if defined(HAVE_PRI) || defined(HAVE_SS7)
static void my_set_digital(void *pvt, int is_digital)
{
@@ -3400,6 +3407,7 @@ static struct sig_pri_callback dahdi_pri_callbacks =
.fixup_chans = my_pri_fixup_chans,
.set_alarm = my_set_alarm,
.set_dialing = my_set_dialing,
+ .set_outgoing = my_set_outgoing,
.set_digital = my_set_digital,
.set_callerid = my_set_callerid,
.set_dnid = my_set_dnid,
@@ -3571,6 +3579,7 @@ static struct sig_ss7_callback dahdi_ss7_callbacks =
.handle_link_exception = my_handle_link_exception,
.set_alarm = my_set_alarm,
.set_dialing = my_set_dialing,
+ .set_outgoing = my_set_outgoing,
.set_digital = my_set_digital,
.set_inservice = my_set_inservice,
.set_locallyblocked = my_set_locallyblocked,
@@ -3712,6 +3721,7 @@ static struct analog_callback dahdi_analog_callbacks =
.set_cadence = my_set_cadence,
.set_alarm = my_set_alarm,
.set_dialing = my_set_dialing,
+ .set_outgoing = my_set_outgoing,
.set_ringtimeout = my_set_ringtimeout,
.set_waitingfordt = my_set_waitingfordt,
.check_waitingfordt = my_check_waitingfordt,