Hi John,
I would agree that media proxy needs better support for geo-distribution of
relays. One possibility is to implement GeoIP directly within the
dispatcher, not within opensips. The dispatcher could compute GeoIP
location of each relay when it registers, and then for each call compute
GeoIP location of the caller (or callee) and select the closest relay based
upon that. And it could load-balance within co-located relays ("co-located"
based upon GeoIP).One issue with geo distribution of relays is call setup latency and thruput: the opensips process blocks while the dispatcher has round-trip conversation with the media relay. This latency goes from ~20ms for local relay to >200ms for international relay, which can block a lot of processes, reducing thruput. Ideally, the communication between dispatcher and relay wouldn't block the opensips process. Good luck implementing a solution, and please let me know what you come up with. Regards, Kennard From: John Khvatov <[email protected]> To: [email protected] Date: 09/13/2010 06:07 AM Subject: [OpenSIPS-Users] Mediaproxy: media relay selection algorithm improvements Sent by: [email protected] Hello all! We are working on building geo-distributed VoIP solution with Mediaproxy. I think, that the current media relay selection algorithm is not perfect and can be improved. In the current implementation we set IP address of a particular media relay that will be preferred by dispatcher. But what if the particular media relay will be unavailable? Media dispatcher will run normal selection algorithm and does not select neighbor of the particular media relay. I propose to implement the groups of media relays. Each media-relay can be registered on dispatcher with name and group. In the OpenSIPS config we can specify preferred media relay/relays by name or group. Consider the example. Several our relays in Frankfurt registered on dispatchers with group=frankfurt, in Moscow -- with group=moscow. When we set “$avp(s:media_relay_group) to "moscow", dispatcher will select one of media_relay hosted in Moscow. Also, we can simply add/remove media_relays in run-time. What do you think about this idea? Is it difficult to implement? -- WBR, John Khvatov _______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
<<inline: graycol.gif>>
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
