<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Hello,<br>
    <br>
    I understand that the documentation of the protocol is exemplified
    with JSON, but the implementation is actually bencode? From the
    readme it seems you still keep the key=value format, passing them as
    a dictionary in the control protocol. That means it could result in
    dictionaries included in other dictionaries and/or lists (e.g., the
    result of query, like the last json in the readme from the github) -
    obviously no longer that easy to troubleshoot by 'eye'.<br>
    <br>
    Have you got any figures of json vs bencode performances that made
    you mind to go for the later?<br>
    <br>
    From my point of view, json would have had the benefits of being
    easy to query/display in some languages as well as storage engines.
    This is mainly for statistics, when willing to search for various
    situations, without a need to pre-process the result from the rtp
    relay.<br>
    <br>
    Another thing I haven't noticed is about brdiging between two
    networks of the same type, are --ip/--ipv6 parameters taking values
    like rtpproxy addr1/addr2?<br>
    <br>
    Cheers,<br>
    Daniel<br>
    <br>
    <div class="moz-cite-prefix">On 7/9/13 6:56 PM, Richard Fuchs wrote:<br>
    </div>
    <blockquote cite="mid:51DC40A2.1040507@sipwise.com" type="cite">
      <pre wrap="">Hello,

I've just committed the initial version of the rtpproxy-ng module to a
private branch (rfuchs/rtpproxy-ng) for comments and review. This module
is heavily based on the old rtpproxy module and addresses some, but not
all, of the concerns listed at [1]. Notably asynchronous discovery,
enabling and disabling of proxies is on my to-do list.

This module currently works with mediaproxy-ng [2] and supports full SDP
rewriting. It passes the complete body to the RTP proxy and receives
back a replacement body. As such, some of the features (such as ICE
handling) of the old rtpproxy module are removed from the module and
left to the RTP proxy instead. Other features not currently supported by
mediaproxy-ng, such as media playback or recording, are left
unimplemented (i.e. not rewritten and commented out) in rtpproxy-ng, but
it would be trivial to implement them.

Instead of JSON, it uses the bencode [3] format for the control
protocol, which has a very similar feature set, but is a much simpler
and more efficient encoding. The module includes a bencode "library"
(bencode.[ch]) which is deliberately written without any close ties to
the Kamailio core code, so that it can potentially be used in other
projects with little or no modification. For other languages, such as
Perl or Python, bencode modules already exist.

The control protocol in its current state is described at [4]. Most of
it is made to resemble the flags and other options and features of the
old rtpproxy module. The rtpproxy-ng module is also made to be a drop-in
replacement, all the function names and their syntax is the same. This
should make for easy transitioning. However, as more and more features
are added to the RTP proxies, I feel there's a need for a new set of
module functions with an extended syntax in the future. The control
protocol is made to be flexible and easily extendable.

Comments welcome.

cheerse


[1] <a class="moz-txt-link-freetext" href="http://www.kamailio.org/wiki/devel/rtpproxy-ng">http://www.kamailio.org/wiki/devel/rtpproxy-ng</a>
[2] <a class="moz-txt-link-freetext" href="https://github.com/sipwise/mediaproxy-ng">https://github.com/sipwise/mediaproxy-ng</a>
[3] <a class="moz-txt-link-freetext" href="http://en.wikipedia.org/wiki/Bencode">http://en.wikipedia.org/wiki/Bencode</a>
[4] <a class="moz-txt-link-freetext" href="https://github.com/sipwise/mediaproxy-ng#the-ng-control-protocol">https://github.com/sipwise/mediaproxy-ng#the-ng-control-protocol</a>

</pre>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
sr-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:sr-dev@lists.sip-router.org">sr-dev@lists.sip-router.org</a>
<a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev</a>
</pre>
    </blockquote>
    <br>
    <pre class="moz-signature" cols="72">-- 
Daniel-Constantin Mierla - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
</pre>
  </body>
</html>