Home

Resources

Products

Developers

Main • Lateroute

Late Route (Yate 2)

This module can be used whenever you need to route the calls to one or several numbers or aliases whose addresses are not known in advance - like the phones or clients registered to Yate.

A very common usage is in forking the call to several numbers since when building the fork only the numbers are known - not their currently registered location. Other common use is the handling of some ENUM routes pointing back to PSTN.

 
[general]
; Global settings of the late routing module

; enabled: boolean: Enable late routing module operation
;enabled=true if the list of prefixes is not empty

; priority: int: Priority of call.execute handler
;priority=75

; types: list: Comma separated list of target types to be late routed
;  For each target of the form type/NNN a route request for NNN will be made
;  The "pstn" and "voice" types must be enabled in the ENUM module
;types=lateroute,route,pstn,voice

The regexp and called parameters are obsolete and must not be used in new configurations.

Example:

regexroute.conf holds:

 
[default]
^100$=fork lateroute/201 | lateroute/202 | sip/sip:\0@my.gateway

The call will first attempt to reach the 201 number through whatever routing possible - usually some form of registration. Then it will repeat for number 202 and only finally it will be directed to 100 at the gateway. Exact route and parameters for 201 and 202 don't have to be known in advance.

How it works

The late routing module allows making a routing decision late in Yate's message flow. Routing is possible in the call.execute message, setting a module for the outbound call leg.

The module works by intercepting specific call.execute messages (based on the callto parameter) and redispatching the message as call.route. If the routing succeeds the callto parameter is replaced with the result of routing and the message is allowed to continue processing. Any parameters added or modified during routing will reach the outbound channel as expected.

NOTE: No prerouting stage takes place. Prerouting is assumed to have already happened.

NOTE: Take care to avoid routing loops. Take extra care to avoid routing loops when multiple servers are involved since forwarding loop avoidance information may be impossible for the interconnect protocol.

3 May 2010:
Yate 3.0.0 alpha 3 released. Featuring the new Jabber server and wideband audio.
Download NOW

8 March 2010:
Yate 2.2 released. Mostly bug fixes. Dahdi compatible. Latest 2 release before 3.0.

6-7 February 2010:
Yate booth at FOSDEM 2010. Free CD with Freesentral available.

2 Nov 2009:
Yate 2.1 launched. Can replace a Cisco PGW2200 to control a Cisco AS54xx.

6 Aug 2008:
Yate and OpenSIPS (former OpenSER) join to build IP based clusters.

4 Aug 2008:
Yate 2 launched.

10 Jul 2008:
Yate presentation in Germany.

Feb 2008:
Yate 2.0.0 alpha 2 released. New routing module allows sending ENUM routed or forked calls to numbers of registered phones. More...

21 Jan 2008:
Yate 2 alpha released. Major changes, new ISDN, SS7 and MGCP stack. Added analogic and RBS support.

3 September:
Yate 1.3 released. Minor fixes and improvments mainly in client and SIP.

14 August:
Yate based ISDN passive recording system released by Trisys.

16 April:
Yate 1.2 released. Added Jingle and XML support, PBX improved.

25 September:
YateAdmin 1 released.

25 September:
Yate 1.1 released. Fallback routing from a database, fax support in Linux and bug fixes. Changelog and Download availables.

11 July 2006:
O'Reilly published an article about prototyping telephony applications with Yate and Python.

10 July 2006:
Yate 1 released. Includes YIAX, YSIP, YRTP and many new features.

June 1st 2006:
New Yate website launched


EditHistoryBacklinksRecent ChangesSearch