Re: FS as Media Gateway Only

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Also consider using a sip proxy to distribute the calls to the cluster of media boxes.
This is one of the main reasons we have suffered through SIP so we could have proxies and redirectors based on http =/

On Thu, May 27, 2010 at 1:42 AM, David Ponzone <david.ponzone@xxxxxxxxx> wrote:
Vitali, Code,

I apologize, I answered too quickly.
That's actually a very smart way to do it when you don't have/want a proprietary protocol.

It should be possible to distribute the calls evenly by using mod_limit.
You can even take the transcoding into account.
If you know your media servers will only use G711 to the outside, you can call mod_limit once if the inbound call is G711 also, but you may call mod_limit twice or thrice or more (to be calculated) if the inbound call is G729.
This way, your mod_limit figures per media server will reflect the actual load on the server, not only the number of current calls.

David Ponzone  Direction Technique
tel:      01 74 03 18 97
gsm:   06 66 98 76 34

Service Client IPeva
tel:      0811 46 26 26

Ce message et toutes les pièces jointes sont confidentiels et établis à l'intention exclusive de ses destinataires. Toute utilisation ou diffusion non autorisée est interdite. Tout message électronique est susceptible d'altération. IPeva décline toute responsabilité au titre de ce message s'il a été altéré, déformé ou falsifié. Si vous n'êtes pas destinataire de ce message, merci de le détruire immédiatement et d'avertir l'expéditeur.

Le 27/05/2010 à 08:15, Vitalii Colosov a écrit :

Hi Code,

I have working example doing exactly what you've described.
One signalling FS bridges incoming call to a set of media servers (depending on ip, but you can implement any routing logic including round robin) and then transfers media stream after bridging to that media server.

You can achieve this on signalling FS by creating a Lua script that contains the following lines:

media_server=""; --to be determined by routing logic
forwarding_session = "sofia/external/"..called_number.."@"..media_server;
session:setVariable("bypass_media_after_bridge", "true");
session:setVariable("hangup_after_bridge", "true");

The call will arrive to the selected media server successfully and media stream will start bypassing signalling FS after bridge.

You can read the following thread, it describes how you can setup such configuration.

I think it will fit your needs.


2010/5/27 Code Ghar <codeghar@xxxxxxxxx>
Is it possible -- and are there any case studies, practical experience, etc -- on deploying FreeSWITCH (FS) in this architecture: one server (FSSIP) handles SIP signaling only, and multiple servers (FSRTP1, FSRTP2, ..., FSRTPn) handle all media responsibilities? So when a call comes in, the SDP contains IP of, say FSRTP1, as media handler. For this to work, FSSIP would request FSRTPx for media resources for each new call and add its IP and port in SDP. The media servers/gateways would play IVR, etc.; collect DTMF and forward as appropriate to FSSIP; perform transcoding; etc.; all while FSSIP only deals with signaling. This way multiple servers could be deployed to handle media responsibilities and only a handful would be required for signaling. In future if there's a greater need for transcoding, etc. all you need to do is deploy a media server and not have to add servers for signaling.

This idea came to me because I have come across two proprietary applications that do it this way. They have a SIP component and a media component. You can run both on the same physical machine or you can separate them out into multiple machines.

Another way for this could be to integrate FS as a media component to another application's SIP component. A mix-and-match, so to speak.

On the flip side, deploy FS as a SIP server and use media capabilities of some other hardware or software application. For example, FS handles signaling and use dedicated hardware for media. A good example of this is illustrated (somewhat) by an image on Sangoma's website: Look at the "pooled transcoding".

Is FS even designed to be this modular? If so, how can the aforementioned scenario(s) be achieved?

FreeSWITCH-users mailing list

FreeSWITCH-users mailing list

FreeSWITCH-users mailing list

Anthony Minessale II


AIM: anthm
IRC: #freeswitch

FreeSWITCH Developer Conference
FreeSWITCH-users mailing list

[Home]     [Asterisk Internet PBX]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Video Projectors]     [PDAs]     [Free Online Dating]     [Hacking TiVo]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Devices]     [Big List of Linux Books]     [16.7MP]

Add to Google Powered by Linux