28.09.2021

kamailio rtpengine media timeout TIPs

  1. timeout will be raised only if both sides of rtp is silent
  2. you have to enable tcp at kamailio config (disable_tcp=no)
  3. you must have in kamailio cfg: listen=tcp:127.0.0.1:8090, loadmodule “xmlrpc.so”, and additional params:
loadmodule "xmlrpc.so"
modparam("xmlrpc", "route", "XMLRPCS")
modparam("xmlrpc", "url_skip", "^/sip")
modparam("xmlrpc", "url_match", "^/RPC2")

4. you have to add route XMLRPC:

route[XMLRPCS] {
  xlog("L_ALERT","RPC recieved");
  dispatch_rpc();
}

5. config rtpengine should have:

 b2b-url = http://127.0.0.1:8090/RPC2
 xmlrpc-format = 2

6. after restart kamailio and rtpengine you may to check you may do command from command line:

curl http://127.0.0.1:8090/RPC2

output should be like that:

<?xml version="1.0"?>
<methodResponse>
<fault>
<value>
<struct>
<member>
<name>faultCode</name>
<value><int>400</int></value>
</member>
<member>
<name>faultString</name>
<value><string>Invalid XML-RPC Document</string></value>
</member>
</struct>
</value>
</fault>
</methodResponse>