o Juha Heinanen on 09/19/2011 08:39 PM:
when sems receives voice call invite from ua behind nat that has direction:active in its sdp, like this:
Session Description Protocol Session Description Protocol Version (v): 0 Owner/Creator, Session Id (o): foo.bar 0 0 IN IP4 192.168.1.
68 Session Name (s): - Connection Information (c): IN IP4 192.168.1.68 Time Description, active time (t): 0 0 Media Description, name and address (m): audio 8500 RTP/AVP 18 4 112 100 101 0 8 106 Media Attribute (a): sendrecv Media Attribute (a): rtpmap:18 G729/8000 Media Attribute (a): rtpmap:4 G723/8000 Media Attribute (a): rtpmap:112 AMR/8000 Media Attribute (a): rtpmap:100 EG711U/8000 Media Attribute (a): rtpmap:101 EG711A/8000 Media Attribute (a): rtpmap:0 PCMU/8000 Media Attribute (a): rtpmap:8 PCMA/8000 Media Attribute (a): rtpmap:106 telephone-event/8000 Media Attribute (a): direction:active
sems includes direction:passive in 200 OK and starts to correctly send rtp packets to the ip address/port of received rtp packets.
however, then sems receives a voice+video call invite like this:
Session Description Protocol Session Description Protocol Version (v): 0 Owner/Creator, Session Id (o): foo.bar 0 0 IN IP4 192.168.1.68 Session Name (s): - Connection Information (c): IN IP4 192.168.1.68 Time Description, active time (t): 0 0 Media Description, name and address (m): audio 8500 RTP/AVP 18 4 112 100 101 0 8 106 Media Attribute (a): sendrecv Media Attribute (a): rtpmap:18 G729/8000 Media Attribute (a): rtpmap:4 G723/8000 Media Attribute (a): rtpmap:112 AMR/8000 Media Attribute (a): rtpmap:100 EG711U/8000 Media Attribute (a): rtpmap:101 EG711A/8000 Media Attribute (a): rtpmap:0 PCMU/8000 Media Attribute (a): rtpmap:8 PCMA/8000 Media Attribute (a): rtpmap:106 telephone-event/8000 Media Description, name and address (m): video 8600 RTP/AVP 34 Bandwidth Information (b): AS:300 Media Attribute (a): sendrecv Media Attribute (a): rtpmap:34 H263/90000 Media Attribute (a): direction:active
it does not include direction:passive in 200 OK and keeps on sending rtp packets to 192.168.1.68 even after receiving first voice rtp packet from public ip of the ua.
is this a bug in sems or is it a bug in sr nathelper_k fix_nated_sdp("1") implementation, i.e., does that function place direction:actvive line to only one place, when it should place it in two places (in both voice and video media descriptions)?
The latter. The direction attribute from comedia draft is a media level attribute. If it is set in the video stream only, it applies only to the video stream. fix_nated_sdp should put it in the audio m section as well.
Note that the 'setup' attribute from rfc 4145 - which is not honored by sems - can be media or session level; if it is added to session level, it applies to all media lines.
Stefan
-- juha _______________________________________________ Sems mailing list Sems@lists.iptel.org http://lists.iptel.org/mailman/listinfo/sems