diff options
author | rmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-27 20:03:49 +0000 |
---|---|---|
committer | rmudgett <rmudgett@f38db490-d61c-443f-a65b-d21fe96a405b> | 2009-04-27 20:03:49 +0000 |
commit | 36963c1bce21d26343ac222911d8528dfe4f8e69 (patch) | |
tree | d2139a84e6f6ca8924f8827177c295366227c906 /channels/misdn | |
parent | 3cc822709b22c4011802ffd8b9fb12ea79659d6b (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.c | 5 | ||||
-rw-r--r-- | channels/misdn/isdn_lib.h | 12 |
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; |