|
|
|
Re: FS as Media Gateway Only | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
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 Techniqueemail: david.ponzone@xxxxxxxxtel: 01 74 03 18 97gsm: 06 66 98 76 34Service Client IPevatel: 0811 46 26 26Ce 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="my_media_X.mydomain.com"; --to be determined by routing logicforwarding_session = "sofia/external/"..called_number.."@"..media_server;session:setVariable("bypass_media_after_bridge", "true");session:setVariable("hangup_after_bridge", "true");session:execute("bridge",forwarding_session);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.Regards,Vitalie2010/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: http://www.sangoma.com/assets/images/content/transcoding_diagram.jpg. 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@xxxxxxxxxxxxxxxxxxxx
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
FreeSWITCH-users mailing list
FreeSWITCH-users@xxxxxxxxxxxxxxxxxxxx
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_______________________________________________
FreeSWITCH-users mailing list
FreeSWITCH-users@xxxxxxxxxxxxxxxxxxxx
http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
http://www.freeswitch.org
_______________________________________________ FreeSWITCH-users mailing list FreeSWITCH-users@xxxxxxxxxxxxxxxxxxxx http://lists.freeswitch.org/mailman/listinfo/freeswitch-users UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users http://www.freeswitch.org
[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]
![]() |
![]() |