{"id":357,"date":"2010-12-02T09:29:32","date_gmt":"2010-12-02T08:29:32","guid":{"rendered":""},"modified":"2018-11-01T10:38:57","modified_gmt":"2018-11-01T09:38:57","slug":"builiding-rtpproxy-server-121-git-debian-lenny","status":"publish","type":"post","link":"https:\/\/nil.uniza.sk\/en\/builiding-rtpproxy-server-121-git-debian-lenny\/","title":{"rendered":"Builiding RTPproxy server 1.2.1 from GIT on debian lenny"},"content":{"rendered":"<p><span style=\"color: rgb(255, 0, 0);\">As the result of the testing, the rtpproxy 1.2.1 builded using git is faulted, see the end of the article or article about kamamilio <a href=\"https:\/\/nil.uniza.sk\/en\/sip\/nat-fw\/configuring-nat-traversal-using-kamailio-31-and-rtpproxy-server\/\">nat traversal with rtpproxy<\/a>.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>The article describe how to install <a href=\"http:\/\/www.rtpproxy.org\/\">the rtpproxy <\/a>server, version 1.2.1, from the source. We need this server as a part of the NAT traversal solution realized with Kamailio and rtpproxy.<\/p>\n<p>Info from the RTPproxy site:<\/p>\n<blockquote>\n<p><em>T<\/em><em>he Sippy RTPproxy is a high-performance software proxy server for RTP streams that can work together with our Kamailio server.&nbsp;<\/em><\/p>\n<p><em>The main purpose of RTPproxy originally had been to make the communication between SIP user agents behind NAT(s) (Network Address Translator) possible. Several cases existed when direct end-to-end communication is not possible and RTP streams have to be relayed through another host. The RTPproxy can be used to setup such a relaying host.<\/em><\/p>\n<\/blockquote>\n<h2>Download source code<\/h2>\n<p>We will use the latest version of the rtpproxy server, because the latest version included in apt repository of debian lenny is 1.1.2. For source download we will use the git<\/p>\n<p>Because i have no git installed I will install it<\/p>\n<pre>\r\napt-get install git-core\r\n<\/pre>\n<p>Then we download the source code to your preferred folder<\/p>\n<pre>\r\ngit clone git:\/\/sippy.git.sourceforge.net\/gitroot\/sippy\/rtpproxy<\/pre>\n<h2>Compilation and installation<\/h2>\n<p>Go to the folder where the source code was downloaded<\/p>\n<pre>\r\n.\/configure&nbsp;<\/pre>\n<p>Configure failed cause I have no proper compiler, I install it<\/p>\n<pre>\r\napt-get install gcc<\/pre>\n<p>and run .\/configure again, now it works. And now we will start rest<\/p>\n<pre>\r\nmake\r\nmake install<\/pre>\n<h2>&nbsp;Configuration<\/h2>\n<p>The rtpproxy server may communicate with Kamailio using the linux or UDP socket, thus mean that rtpproxy may run on the same machine as Kamailio or on another server.<\/p>\n<p>Open the file<span class=\"Apple-style-span\"> \/etc\/default\/rtpproxy&nbsp;<\/span>and add line<\/p>\n<pre><span class=\"Apple-style-span\">CONTROL_SOCK=&quot;unix:\/var\/run\/rtpproxy\/rtpproxy.sock&quot;<\/span><\/pre>\n<p>to use unix socket for the communication with kamailio, or uncomment<\/p>\n<pre>\r\nCONTROL_SOCK=udp:127.0.0.1:22222\r\n<\/pre>\n<p>to use the UDP socket.<\/p>\n<p>&nbsp;<\/p>\n<p>Optionally, if we are using firewall, and we opened some ports for RTP media stream in our firewalls. So we may define to the rtpproxy to use this ports, to achieve this add<\/p>\n<pre><span class=\"Apple-style-span\">EXTRA_OPTS=&quot;-m 16384 -M 32767&quot;<\/span><\/pre>\n<h2>Testing with kamailio 3.1<\/h2>\n<ol>\n<li>On debian lenny, you have to edit \/etc\/init.d\/rtpproxy script because it is pointing to other folder as the rtpproxy binary is. By default it is pointing to the \/usr\/sbin, but after compilation the binary is in \/usr\/local\/bin.<\/li>\n<li>Other problem, using rtpproxy 1.2.1 with kamalio 3.1.x lead to segmentatio<span style=\"color: rgb(255, 0, 0);\">n fault&#8230;so version 1.2.1 is for this case unusable fo us.<\/span><\/li>\n<\/ol>\n<pre>\r\nDec  3 11:29:23 pstest \/usr\/sbin\/kamailio[5567]: ERROR: &lt;core&gt; [tcp_read.c:882]: ERROR: tcp_read_req: error reading\r\nDec  3 11:29:34 pstest kernel: [1285797.388217] rtpproxy[5529]: <span style=\"background-color: rgb(255, 204, 153);\">segfault at<\/span> 0 ip 409468 sp 7fffe8208d70 error 4 in rtpproxy[400000+f000]\r\n<\/pre>","protected":false},"excerpt":{"rendered":"<p><span style=\"color: rgb(255, 0, 0);\">As the result of the testing, the rtpproxy 1.2.1 builded using git is faulted, see the end of the article or article about kamamilio <a href=\"https:\/\/nil-test.kis.fri.uniza.sk\/sip\/nat-fw\/configuring-nat-traversal-using-kamailio-31-and-rtpproxy-server\">nat traversal with rtpproxy<\/a>.<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>The article describe how to install <a href=\"http:\/\/www.rtpproxy.org\/\">the rtpproxy <\/a>server, version 1.2.1, from the source. We need this server as a part of the NAT traversal solution realized with Kamailio and rtpproxy.<\/p>","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"categories":[685,783],"tags":[],"class_list":["post-357","post","type-post","status-publish","format-standard","hentry","category-linux_-_howto-en","category-nat-fw"],"taxonomy_info":{"category":[{"value":685,"label":"Linux - HOWTO"},{"value":783,"label":"NAT, FW"}]},"featured_image_src_large":false,"author_info":{"display_name":"admin","author_link":"https:\/\/nil.uniza.sk\/en\/author\/admin\/"},"comment_info":5,"category_info":[{"term_id":685,"name":"Linux - HOWTO","slug":"linux_-_howto-en","term_group":0,"term_taxonomy_id":683,"taxonomy":"category","description":"","parent":0,"count":71,"filter":"raw","cat_ID":685,"category_count":71,"category_description":"","cat_name":"Linux - HOWTO","category_nicename":"linux_-_howto-en","category_parent":0},{"term_id":783,"name":"NAT, FW","slug":"nat-fw","term_group":0,"term_taxonomy_id":781,"taxonomy":"category","description":"","parent":771,"count":5,"filter":"raw","cat_ID":783,"category_count":5,"category_description":"","cat_name":"NAT, FW","category_nicename":"nat-fw","category_parent":771}],"tag_info":false,"_links":{"self":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/posts\/357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/comments?post=357"}],"version-history":[{"count":0,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/posts\/357\/revisions"}],"wp:attachment":[{"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/media?parent=357"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/categories?post=357"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nil.uniza.sk\/en\/wp-json\/wp\/v2\/tags?post=357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}