Peter had a talk at Astricon 2013 presenting how it works. I think the
magic lies on the parameters. See this slide (there are some more
interesting slides)
Hello,
Thank you for your answer.
My server is a centos with public ip. I'm using chrome with jssip
framework for sip client - tried sipml5 also. I have attached to this
e-mail my kamailio configuration.
Regarding the kamailio + mediaproxy-ng I took the latest versions from
git - also tried with kamailio 4.1.1. The mediaproxy-ng I'm running
using the command: /tmp/mediaproxy-ng/daemon/mediaproxy-ng
--ip=PUBLIC_IP --listen-ng=127.0.0.1:2222 <http://127.0.0.1:2222>
I also tried the following configuration and I have the same error:
route {
......................
##################################################################################################################
# Use RTP-Proxy
###############################################################################################################
#if (!rtpproxy_offer("arf")) {
#sl_send_reply("503", "No RTP-Relay available");
#exit;
#}
if (is_method("INVITE")) {
if (sdp_content()) {
if (rtpproxy_offer())
rtpproxy_manage("cowf","PUBLIC_IP");
t_on_reply("1");
}
} else {
if (sdp_content()) {
if (rtpproxy_offer())
rtpproxy_manage("cowf","PUBLIC_IP");
}
}
if (is_method("ACK") && sdp_content()) {
rtpproxy_answer();
rtpproxy_manage("cowf","PUBLIC_IP");
}
#t_on_reply("1");
# Relay this statefully
t_relay();
...............................................................
*******************************************************************
onreply_route[1] {
if ((($Rp == MY_WS_PORT || $Rp == MY_WSS_PORT)
&& !(proto == WS || proto == WSS)) || $Rp == MY_MSRP_PORT) {
xlog("L_WARN", "SIP response received on $Rp\n");
drop;
exit;
}
if (nat_uac_test(64)) {
# Do NAT traversal stuff for replies to a WebSocket connection
# - even if it is not behind a NAT!
# This won't be needed in the future if Kamailio and the
# WebSocket client support Outbound and Path.
add_contact_alias();
}
# A Transaction from a NATed Client to a NATed Client? Use the RTP-Proxy!
if (status=~"(180)|(183)|(2[0-9][0-9])") {
fix_nated_contact();
if (sdp_content()) {
rtpproxy_answer();
}
}
}
If my problem could be caused by a kamalio miss-configuration could you
please send me an example of configuration that should work with
websockets, rtpproxy-ng->mediaproxy-ng in order to remove one possible
cause?
Thank you.
Best regards,
Mihai M
On Wed, Jan 29, 2014 at 1:31 PM, Klaus Darilion
<klaus.mailinglists(a)pernau.at <mailto:klaus.mailinglists@pernau.at>> wrote:
Hi!
The problem is different SDP formats between normal SIP
clients/gateways, and WebRTC clients.
You have to instruct mediaproxy-ng to rewrite the SDP and do the
conversion (encryption, ...).
So either the rtpproxy_ng calls lack the commands for the
"gatewaying", or the webrtc clients uses eg. an encryption which is
not supported by mediaproxy-ng.
Please also post the kamailio.cfg snippets when calling rtpproxy_ng
and give details about your environment (browser, SIP client ...)
regards
Klaus
On 27.01.2014 22:38, Mihai Marin wrote:
Hello Sirs,
I have a problem configuring kamailio with mediaproxy-ng and I'm
asking
for help.
I managed to build everything, kamailio find support for
mediaproxy-ng
using rtpproxy-ng. When I'm trying to make a call from Web using my
phone's internet provider to my computer's web I get 488 Not
Acceptable
Here. Swithing the caller I get no video.
I have used the kamailio-advanced.cfg generated and added websocket
support. The call in my network is working perfect.
Can you help me with this?
mediaproxy-ng log:
mediaproxy-ng[14896]: Returning to SIP proxy:
d7:createdi1390864117e7:__streamslld3:tag10:trhh9viigs6:__status34:known
but
unconfirmed peer
address5:statsd3:rtpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48279ee23:advertised
peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48279ee10:local
porti30008ee4:rtcpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48280ee23:advertised
peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48280ee10:local
porti30009eeeed3:tag0:6:__status20:unknown peer
address5:statsd3:rtpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv67:__address2:::4:porti0ee23:__advertised
peer addressd6:family4:IPv67:__address2:::4:porti0ee10:local
porti30010ee4:rtcpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv67:__address2:::4:porti0ee23:__advertised peer
addressd6:family4:IPv67:__address2:::4:porti0ee10:local
porti30011eeeeee6:totalsd5:__inputd3:rtpd7:packetsi0e5:__bytesi0e6:errorsi0ee4:rtcpd7:__packetsi0e5:bytesi0e6:__errorsi0eee6:outputd3:rtpd7:__packetsi0e5:bytesi0e6:__errorsi0ee4:rtcpd7:__packetsi0e5:bytesi0e6:__errorsi0eeee6:result2:oke
kamailio:
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=860 a=24
n=rtpproxy_manage
11(14926) DEBUG: rtpproxy-ng [rtpproxy.c:1333]:
rtpp_function_call():
proxy reply:
d7:createdi1390864117e7:__streamslld3:tag10:trhh9viigs6:__status34:known
but
unconfirmed peer
address5:statsd3:rtpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48279ee23:advertised
peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48279ee10:local
porti30008ee4:rtcpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48280ee23:advertised
peer
addressd6:family4:IPv47:__address13:213.233.85.554:__porti48280ee10:local
porti30009eeeed3:tag0:6:__status20:unknown peer
address5:statsd3:rtpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv67:__address2:::4:porti0ee23:__advertised
peer addressd6:family4:IPv67:__address2:::4:porti0ee10:local
porti30010ee4:rtcpd8:__countersd7:packetsi0e5:__bytesi0e6:errorsi0ee12:peer
addressd6:family4:IPv67:__address2:::4:porti0ee23:__advertised peer
addressd6:family4:IPv67:__address2:::4:porti0ee10:local
porti30011eeeeee6:totalsd5:__inputd3:rtpd7:packetsi0e5:__bytesi0e6:errorsi0ee4:rtcpd7:__packetsi0e5:bytesi0e6:__errorsi0eee6:outputd3:rtpd7:__packetsi0e5:bytesi0e6:__errorsi0ee4:rtcpd7:__packetsi0e5:bytesi0e6:__errorsi0eeee6:result2:oke
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=867 a=16 n=if
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=862 a=24
n=is_request
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=866 a=16 n=if
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=863 a=24
n=has_totag
11(14926) DEBUG: siputils [checks.c:103]: has_totag(): no totag
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=864 a=25
n=add_rr_param
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=873 a=16 n=if
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=867 a=24
n=is_reply
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=873 a=2
n=return
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=1009 a=16 n=if
11(14926) ERROR: *** cfgtrace:
c=[/usr/local/etc/kamailio/__kamailio-advanced.cfg] l=989 a=24
n=t_is_canceled
11(14926) DEBUG: tm [t_lookup.c:1071]: t_check_msg(): DEBUG:
t_check_msg: msg id=2 global id=2 T start=0x7f62174df4e0
11(14926) DEBUG: tm [t_lookup.c:1143]: t_check_msg(): DEBUG:
t_check_msg: T already found!
11(14926) DEBUG: tm [t_reply.c:1827]: relay_reply(): DEBUG:
relay_reply:
branch=0, save=0, relay=0 icode=0
11(14926) DEBUG: <core> [msg_translator.c:2007]:
generate_res_buf_from_sip_res(__): old size: 397, new size: 305
11(14926) DEBUG: <core> [msg_translator.c:2025]:
generate_res_buf_from_sip_res(__): copied size: orig:125, new:
33, rest:
272 msg=
SIP/2.0 488 Not Acceptable Here
Via: SIP/2.0/WS
ebhg3v0qb6fm.invalid;rport=__1034;received=213.233.85.55
<tel:213.233.85.55>;branch=__z9hG4bK8048296
To: <sip:bob@93.187.138.214 <mailto:sip%3Abob@93.187.138.214>
<mailto:sip%3Abob@93.187.138.__214
<mailto:sip%253Abob@93.187.138.214>>>;tag=r6dc2287g9
From: "Alice Test" <sip:alice@93.187.138.214
<mailto:sip%3Aalice@93.187.138.214>
<mailto:sip%3Aalice@93.187.__138.214
<mailto:sip%253Aalice@93.187.138.214>>>;tag=trhh9viigs
Call-ID: fvgga4ikm8vrvuji0g0n
CSeq: 6228 INVITE
Content-Length: 0
11(14926) DEBUG: websocket [ws_frame.c:713]: ws_frame_transmit(): Tx
message:
SIP/2.0 488 Not Acceptable Here
Via: SIP/2.0/WS
ebhg3v0qb6fm.invalid;rport=__1034;received=213.233.85.55
<tel:213.233.85.55>;branch=__z9hG4bK8048296
To: <sip:bob@93.187.138.214 <mailto:sip%3Abob@93.187.138.214>
<mailto:sip%3Abob@93.187.138.__214
<mailto:sip%253Abob@93.187.138.214>>>;tag=r6dc2287g9
From: "Alice Test" <sip:alice@93.187.138.214
<mailto:sip%3Aalice@93.187.138.214>
<mailto:sip%3Aalice@93.187.__138.214
<mailto:sip%253Aalice@93.187.138.214>>>;tag=trhh9viigs
Call-ID: fvgga4ikm8vrvuji0g0n
CSeq: 6228 INVITE
Content-Length: 0
Thank you.
Best regards,
Mihai M
_________________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users
mailing list
sr-users(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/__cgi-bin/mailman/listinfo/sr-__users
<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
_________________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org <mailto:sr-users@lists.sip-router.org>
http://lists.sip-router.org/__cgi-bin/mailman/listinfo/sr-__users
<http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users>
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users