In our implementation only Media servers generate CDRs. No Media session - no CDR (at least we need exactly this behavior).<div><br></div><div>However if you need, you can generate CDRs only on Signalling servers I beleive.<br>
<div><br></div><div>Regards,</div><div>Vitalie<br><br><div class="gmail_quote">2010/5/29 Saeed Ahmed <span dir="ltr"><<a href="mailto:saeedahmad1981@gmail.com">saeedahmad1981@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
If i understood correctly, <span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse">Vitalie solutions is still workable, (although what Code mentioned, would be ideal), because from customer side its normal to provide multiple IPs or in most cases a whole subnet range, and call can come any IP from theatrange, a good example is Arbinet. </span><div>
<span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse"><br></span></div><div><span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse">Commercial SBCs like nextone support it.</span></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse"><span style="font-size:13px">Vitalie, i've a concern that in your solution how would we deal with cdrs? </span></span></font></div>
<div><font face="arial, sans-serif"><span style="border-collapse:collapse"><br></span></font></div><div><font face="arial, sans-serif"><span style="border-collapse:collapse">Thanks<br>
</span></font><div><div></div><div class="h5"><br><div class="gmail_quote">On Fri, May 28, 2010 at 1:31 PM, David Ponzone <span dir="ltr"><<a href="mailto:david.ponzone@gmail.com" target="_blank">david.ponzone@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">Code,<div><br></div><div>you're totally right.</div><div>In this model (FS), the media server will also be in the SIP Path.</div><div>That's why I answered in the first place that this was not achievable with FS, because your idea was more a Kamaillo/RTPProxy setup, where the mediaserver only does RTP with the endpoints, and is not in the SIP path at all:</div>
<div><br></div><div>inbound <--------SIP------ SIP Server/Proxy ------------SIP-------> Carrier</div><div> |</div><div> <---------RTP------ MediaServer--------RTP---------------></div>
<div><br></div><div><br></div><div>Verizon Business (in Europe at least) has a such infrastrucutre: OpenSER for the SIP part, and Nortel GWs for the RTP.</div><div>This way, they just give me the IPs of their OpenSER servers, and they can deploy as many media servers as they need without telling us (of course, we dont filter that).</div>
<div><br></div><div>I don't know how this is implemented in Kamaillo/OpenSER but perhaps, for a nice bounty, that would be something possible in FS.</div><div><font color="#1C00FF" face="'Helvetica Neue'"><br>
</font></div><div><span style="font-family:'Helvetica Neue';font-size:14px"><font color="#1C00FF">David Ponzone </font><font color="#000000" size="3"><span style="font-size:12px">Direction Technique</span></font></span></div>
<div><div><div><span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div style="word-wrap:break-word">
<span style="border-collapse:separate;color:rgb(0, 0, 0);font-family:Helvetica;font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><div style="word-wrap:break-word">
<div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">email: <a href="mailto:david.ponzone@ipeva.fr" target="_blank">david.ponzone@ipeva.fr</a></span></font></font></div><div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">tel: 01 74 03 18 97</span></font></font></div>
<div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">gsm: 06 66 98 76 34</span></font></font></div><div><font face="'Helvetica Neue'"><br></font></div><div><font color="#1C00FF" face="'Helvetica Neue'">Service Client<span> </span></font><font face="'Helvetica Neue'"><font color="#FF0000">IP</font></font><font color="#1C00FF" face="'Helvetica Neue'">eva</font></div>
<div><font color="#1C00FF" face="'Helvetica Neue'"><span style="color:rgb(0, 0, 0);font-family:Helvetica"><div><font face="'Helvetica Neue'"><font size="3"><span style="font-size:13px">tel: 0811 46 26 26</span></font></font></div>
<div><font face="'Helvetica Neue'" size="3"><span style="font-size:13px"><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 34, 243)"><span style="text-decoration:underline"><a>www.ipeva.fr</a></span><span style="color:rgb(101, 104, 149)"> - <span style="color:rgb(0, 34, 243);text-decoration:underline"><a>www.ipeva-studio.com</a></span></span></div>
<div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 34, 243)"><span style="text-decoration:underline"><br></span></div><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;color:rgb(0, 34, 243)">
<span><div style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0px;text-align:justify;color:rgb(192, 192, 192)"><i>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. </i><b><i>IPeva</i></b><i> 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.</i></div>
<div style="text-decoration:underline;text-align:justify"><font color="#C0C0C0"><i><br></i></font></div></span></div></span></font></div></span></font></div></div></span><br></div></span><br> </div><br></div><div><div>Le 28/05/2010 à 05:34, Code Ghar a écrit :</div>
<div><div></div><div><br><blockquote type="cite">Hi Vitalie<br><br>Thanks for providing the link and details. If I understood correctly, the chain of signaling would be Inbound -> FSSIP -> FSRTP -> Outbound (using names and terms in my original question), while the chain of media would be Inbound -> FSRTP -> Outbound. This way we can have multiple servers handling media and minimal servers handling signaling.<br>
<br>Let me clarify a little more my motivation for asking this question in the first place. I work with telecom carriers on a daily basis and have seen many different architectures. The first biggest problem is how to load balance SIP traffic when you are receiving calls, if one server is not enough. The second biggest problem is handling all RTP, including transcoding. With this architecture, one or two IPs for signaling can be handled by most carriers. So you can beef up your hardware for signaling and depend less on your carrier's ability to load balance traffic for you. If they can do round-robin or failover for two IPs, you are golden. And then you can deploy multiple nodes to handle all RTP duties, without having to concern your carrier about multiple servers and IPs. But there's one thing still missing. Your outbound carrier still needs to allow traffic from multiple IPs because now they are dealing with FSRTP instead of FSSIP.<br>
<br>Is there such a solution possible using FS that all signaling, for both inbound and outbound carriers, can be handled by a couple of FSSIP nodes (depending on the amount of traffic, maybe a few more) while delegating media responsibilities to multiple FSRTP nodes? In this situation, SIP IP is always, say 10.10.10.1 or 10.10.10.2, but the SDP may use media IPs 10.10.10.3, 10.10.10.4, 10.10.10.5, and so on. Almost all carriers I have seen concern themselves only with which SIP IPs they should allow and don't care how many or which media IPs they have to deal with. Any ideas on minimizing signaling IPs while adding more media IPs as required?<br>
<br>I have seen re-invite being used in production where you can just let your inbound and outbound handle media between them on their own without it going through your network. But there are circumstances where people might need to pass media through their own network, chiefly to perform transcoding and also to handle other interop issues. It is because of this use case, combined with the need for minimizing signaling IPs, that the original question was asked.<br>
<br><br><br><br><div class="gmail_quote">On Thu, May 27, 2010 at 1:15 AM, Vitalii Colosov <span dir="ltr"><<a href="mailto:vetali100@gmail.com" target="_blank">vetali100@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<div>Hi Code,</div><div><br></div>I have working example doing exactly what you've described.<div>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.<div>
<br></div><div>You can achieve this on signalling FS by creating a Lua script that contains the following lines:</div><div><br></div><div>media_server="<a href="http://my_media_X.mydomain.com" target="_blank">my_media_X.mydomain.com</a>"; --to be determined by routing logic</div>
<div>forwarding_session = "sofia/external/"..called_number.."@"..media_server;</div><div>session:setVariable("bypass_media_after_bridge", "true");</div><div>session:setVariable("hangup_after_bridge", "true");</div>
<div>session:execute("bridge",forwarding_session);</div><div><br></div><div>The call will arrive to the selected media server successfully and media stream will start bypassing signalling FS after bridge.</div>
<div> <br></div><div>You can read the following thread, it describes how you can setup such configuration.</div><div><a href="http://lists.freeswitch.org/pipermail/freeswitch-users/2010-March/055231.html" target="_blank">http://lists.freeswitch.org/pipermail/freeswitch-users/2010-March/055231.html</a></div>
<div><br></div><div>I think it will fit your needs.</div><div><br></div><div>Regards,</div><div>Vitalie</div><div><br><div><br><div class="gmail_quote">2010/5/27 Code Ghar <span dir="ltr"><<a href="mailto:codeghar@gmail.com" target="_blank">codeghar@gmail.com</a>></span><br>
<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div><div></div><div>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.<br>
<br>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.<br>
<br>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.<br><br>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: <a href="http://www.sangoma.com/assets/images/content/transcoding_diagram.jpg" target="_blank">http://www.sangoma.com/assets/images/content/transcoding_diagram.jpg</a>. Look at the "pooled transcoding".<br>
<br>Is FS even designed to be this modular? If so, how can the aforementioned scenario(s) be achieved?<br> <br></div></div><div>_______________________________________________<br> FreeSWITCH-users mailing list<br> <a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br> UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br> <br></div></blockquote></div><br></div></div></div> <br>_______________________________________________<br> FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br> <a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br> <a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br> _______________________________________________<br>FreeSWITCH-users mailing list<br><a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br></blockquote></div></div></div><br></div></div><br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org" target="_blank">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
FreeSWITCH-users mailing list<br>
<a href="mailto:FreeSWITCH-users@lists.freeswitch.org">FreeSWITCH-users@lists.freeswitch.org</a><br>
<a href="http://lists.freeswitch.org/mailman/listinfo/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/listinfo/freeswitch-users</a><br>
UNSUBSCRIBE:<a href="http://lists.freeswitch.org/mailman/options/freeswitch-users" target="_blank">http://lists.freeswitch.org/mailman/options/freeswitch-users</a><br>
<a href="http://www.freeswitch.org" target="_blank">http://www.freeswitch.org</a><br>
<br></blockquote></div><br></div></div>