Home

Resources

Products

Developers

Main • RTPForwarding

Products -> RTP Forwarding

The incoming call module must set the following in the "call.route" message:

    rtp_forward=possible
    rtp_addr=a.b.c.d
    rtp_port=nnnn
    formats=codec1,codec2,...
    format=preferred_codec (optional)

The router module looks for rtp_forward=possible and turns it into

    rtp_forward=yes (or true or enabled)

Later the same message becomes "call.execute" and is received by the call target module.

If it can handle RTP forwarding the module will check if rtp_forward holds a boolean True value. If it does, it picks parameters form rtp_addr, rtp_port, formats and format. If these values were acceptable it must set

    rtp_forward=accepted

When the "call.execute" returns the caller module can check if the target accepted the RTP forwarding. If the target did not accept it the module should enable its own RTP with data source and/or consumer or fail the call.

The called module must set its incoming RTP parameters in the "call.progress", "call.ringing" or the latest in the "call.answered" message:

    rtp_forward=yes
    rtp_addr=a.b.c.d
    rtp_port=nnnn
    formats=codec1,codec2,...
    format=preferred_codec (optional)

SIP to SIP raw SDP forwarding

If direct RTP forwarding is used between two SDP capable protocols (currently only SIP) there is the possibility to forward the full SDP between the call legs. This allows sending any media type or codec, even those not understood by Yate.

This is enabled in the ysipchan.conf file by setting:

    [general]
    forward_sdp=yes

The effect of this configuration is that the raw text of the SDP body is included in "call.route" as the sdp_raw parameter.

Further control is possible from routing, so in "call.execute" there are the following possibilities:

  • rtp_forward is not true -> no RTP forwarding, use local RTP
  • rtp_forward is true, sdp_raw is empty or missing -> RTP forwarding as above
  • rtp_forward is true, sdp_raw is not empty -> the content of sdp_raw is included as outgoing SDP

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