[Freeswitch-dev] Implementing Forward-{All, Busy, NoAnswer}, ring policies and DND in FS

Mathieu Parent math.parent at gmail.com
Wed May 11 00:19:22 MSD 2011


Hi,

Back on this topic.

2011/4/14 Mathieu Parent <math.parent at gmail.com>:
> Hello,
>
> *Context*:
> ---------
>
> I want to implement the following in mod_skinny (FS-3048 and FS-3047)
> in a way shared with other endpoints modules:
> - call forwarding[cfw],
> - DND and ring policies

I will focus on cfw first: as Marc Olivier suggested, this is more
common in SIP.

>
> *Call forwarding*:
> ---------
> There are three main kinds of forwarding:
> - forward all (immediately)
> - forward when line is busy
> - forward when no answer
>
> We should also store for each the state of the forwarding (enabled or not).
>
> I think a reasonable default here would be:
> - to forward "no answer" to voicemail (and enabled)
> - to forward busy to voicemail (but disabled)
> - to forward all to "" (and disabled)
>
> We also should define what a busy line is, especially on shared lines
> (perhaps define a busy threshold, defaulting to 1).
>
> Call forwarding should be implemented in dialplan, but endpoint
> modules should know when a call is forwarded (the bridge event is
> probably sufficient).
>
(snip)
>
> *Proposal*:
> ---------
>
> I propose to use hashes to store the various data:
>
>        <action application="hash" data="insert/${realm}/${extension}/${data}"/>
>
> Where ${realm} is one of:
> - ${domain_name}-forward-{all,busy,noanswer}-destination: a destination number
> - ${domain_name}-forward-{all,busy,noanswer}-status: true/false
> - ${domain_name}-busy-threshold: [0-9]+
(...)
>
> The dialplan should be enhanced to manage forwarding.
> The endpoint modules should be enhanced to manage forwarding (notify
> that the call has been forwarded) and ring policies.
>
> Does this makes sense? How can we improve it?

I have doubt about mod_hash because it doesn't propagate hashes on
remote servers (it does for limits only). Should I use mod_db instead?

>
> *Next steps*:
> ---------
> - proposal discussion <-- we are still here ;-)
> - forward-* dialplan implementation (I need help here, I am not an
> dialplan expert)
> - mod_skinny forward-* implementation FS-3048
> - mod_skinny ring policies implementation FS-3047
> - other endpoints implementation
>
> Regards
>
> Mathieu
>
> [cfw]: http://en.wikipedia.org/wiki/Call_forwarding
> [dnd]: http://en.wikipedia.org/wiki/Do_Not_Disturb_%28telecommunications%29
>



-- 
Mathieu



More information about the FreeSWITCH-dev mailing list