Differences
This shows you the differences between two versions of the page.
examples:set-blind-call-forwarding [2006/10/20 21:37] – created 86.121.131.153 | examples:set-blind-call-forwarding [Unknown date] (current) – external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Manage blind call forwarding from a SIP device ====== | ||
+ | |||
+ | The following example shows how to " | ||
+ | |||
+ | This example assumes that only authorized users are allowed to turn on or turn off blind call forwarding. | ||
+ | |||
+ | This example DOES NOT implement the call forwarding function. | ||
+ | |||
+ | The " | ||
+ | |||
+ | As an exercise, this example can be expanded to offer the end user the ability to just enter *21 and then be presented with a voice prompt to enter the number that calls will be forwarded to. | ||
+ | |||
+ | Another exercise would be to offer the caller the ability to change the "call forward on no answer" | ||
+ | |||
+ | Regards, | ||
+ | Norm | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # Setup BLIND CALL FORWARD BLIND (ACL=fwd_blind) (AVP=fwd_blind) | ||
+ | # *21 + NPA + NXX + NNNN | ||
+ | # | ||
+ | if (uri=~" | ||
+ | if (is_user_in(" | ||
+ | strip(3); | ||
+ | avp_write(" | ||
+ | # Check for (and reject) attempts to perform recursive blind call forwarding | ||
+ | if (!avp_check(" | ||
+ | avp_db_delete(" | ||
+ | avp_db_store(" | ||
+ | xlog(" | ||
+ | } else { | ||
+ | xlog(" | ||
+ | }; | ||
+ | } else { | ||
+ | xlog(" | ||
+ | }; | ||
+ | exit; | ||
+ | }; | ||
+ | |||
+ | |||
+ | # | ||
+ | # Stop BLIND CALL FORWARD(ACL=fwd_blind) (AVP=fwd_blind) | ||
+ | # *22 | ||
+ | # | ||
+ | if (uri=~" | ||
+ | if (is_user_in(" | ||
+ | avp_db_delete(" | ||
+ | xlog(" | ||
+ | } else { | ||
+ | xlog(" | ||
+ | }; | ||
+ | exit; | ||
+ | }; | ||
+ | </ |