aboutsummaryrefslogtreecommitdiffstats
path: root/channels/misdn
diff options
context:
space:
mode:
authorrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-27 20:03:49 +0000
committerrmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b>2009-04-27 20:03:49 +0000
commit36963c1bce21d26343ac222911d8528dfe4f8e69 (patch)
treed2139a84e6f6ca8924f8827177c295366227c906 /channels/misdn
parent3cc822709b22c4011802ffd8b9fb12ea79659d6b (diff)
Make PTP DivertingLegInformation3 message behavior closer to the specifications.
* Wait for a DivertingLegInformation3 message after receiving a DivertingLegInformation1 message to complete the redirecting-to information before queuing a redirecting update to the other channel. * A DivertingLegInformation2 message should be responded to with a DivertingLegInformation3 when the COLR is determined. If the call could or does experience another redirection, you should manually determine the COLR to send to the switch by setting REDIRECTING(to-pres) to the COLR and setting REDIRECTING(to-num) = ${EXTEN}. * A DivertingLegInformation2 message must have an original called number if the redirection count is greater than one. Since Asterisk does not keep track of this information, we can only indicate that the number is not available due to interworking. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190735 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/misdn')
-rw-r--r--channels/misdn/isdn_lib.c5
-rw-r--r--channels/misdn/isdn_lib.h12
2 files changed, 17 insertions, 0 deletions
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index 4a0da06d3..c0a4170e2 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -764,6 +764,11 @@ static void empty_bc(struct misdn_bchannel *bc)
bc->progress_location=0;
bc->progress_indicator=0;
+#if defined(AST_MISDN_ENHANCEMENTS)
+ bc->div_leg_3_rx_wanted = 0;
+ bc->div_leg_3_tx_pending = 0;
+#endif /* defined(AST_MISDN_ENHANCEMENTS) */
+
/** Set Default Bearer Caps **/
bc->capability=INFO_CAPABILITY_SPEECH;
bc->law=INFO_CODEC_ALAW;
diff --git a/channels/misdn/isdn_lib.h b/channels/misdn/isdn_lib.h
index 7bd516565..df11659c3 100644
--- a/channels/misdn/isdn_lib.h
+++ b/channels/misdn/isdn_lib.h
@@ -493,6 +493,18 @@ struct misdn_bchannel {
*/
int progress_indicator;
+#if defined(AST_MISDN_ENHANCEMENTS)
+ /*!
+ * \brief TRUE if waiting for DivertingLegInformation3 to queue redirecting update.
+ */
+ int div_leg_3_rx_wanted;
+
+ /*!
+ * \brief TRUE if a DivertingLegInformation3 needs to be sent with CONNECT.
+ */
+ int div_leg_3_tx_pending;
+#endif /* defined(AST_MISDN_ENHANCEMENTS) */
+
/*! \brief Inbound FACILITY message function type and contents */
struct FacParm fac_in;