Hello Helmut,

I think unknown attributes are ignored anyway, there is only some debug 
messages print to log, which should not harm.

Btw, for efficient packet forwarding you might have a look at 
iptrtpproxy http://www.2p.cz/en/netfilter_rtp_proxy/iptrtpproxy
which forwards the packets in kernel. The ser iptrtpproxy module can 
give you an example on how to use it using the library.

Stefan


o Helmut Kuper [06/16/08 14:07]:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hello Stefan,
> 
> on my way to an b2bua with rtp proxy support I found that sems's SDP
> parser can't parse this SDP:
> 
> v=0
> o=bell 949879 949879 IN IP4 80.228.245.97
> s=-
> c=IN IP4 80.228.245.133
> t=0 0
> m=audio 42952 RTP/AVP 8 101
> a=ptime:20
> a=sqn:0
> a=cdsc:1 image udptl t38
> a=cpar: a=T38FaxVersion:0
> a=cpar: a=T38MaxBitRate:14400
> a=cpar: a=T38FaxRateManagement:transferredTCF
> a=cpar: a=T38FaxMaxBuffer:336
> a=cpar: a=T38FaxMaxDatagram:176
> a=cpar: a=T38FaxUdpEC:t38UDPRedundancy
> a=rtpmap:101 telephone-event/8000
> a=rtpmap:8 pcma/8000
> 
> 
> 
> It says this:
> 
> (4458) DEBUG: parse_sdp_line_ex (AmSdp.cpp:379): parse_sdp_line_ex:
> parsing sdp message ..
> (4458) DEBUG: parse_sdp_line_ex (AmSdp.cpp:391): parse_sdp_line_ex:
> found version
> (4458) DEBUG: parse_sdp_line_ex (AmSdp.cpp:398): parse_sdp_line_ex:
> found origin
> (4458) DEBUG: parse_sdp_origin (AmSdp.cpp:923): parse_sdp_line_ex:
> parse_sdp_origin: parsing sdp origin
> (4458) DEBUG: parse_sdp_origin (AmSdp.cpp:1014): parse_sdp_line_ex:
> parse_sdp_origin: done parsing sdp origin
> (4458) DEBUG: parse_sdp_line_ex (AmSdp.cpp:406): parse_sdp_line_ex:
> found session
> (4458) DEBUG: parse_sdp_line_ex (AmSdp.cpp:436): parse_sdp_line_ex:
> found connection
> (4458) DEBUG: parse_sdp_connection (AmSdp.cpp:527): parse_sdp_line_ex:
> parse_sdp_connection: parsing sdp connection
> (4458) DEBUG: parse_sdp_connection (AmSdp.cpp:585): parse_sdp_line_ex:
> parse_sdp_connection: done parsing sdp connection
> (4458) DEBUG: parse_sdp_line_ex (AmSdp.cpp:421): parse_sdp_line_ex:
> found unknown line 't'
> (4458) DEBUG: parse_sdp_line_ex (AmSdp.cpp:443): parse_sdp_line_ex:
> found media
> (4458) DEBUG: parse_sdp_media (AmSdp.cpp:605): parse_sdp_line_ex:
> parse_sdp_media: parsing media description...
> (4458) DEBUG: parse_sdp_media (AmSdp.cpp:694): parse_sdp_line_ex:
> parse_sdp_media: done parsing media description
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'ptime'
> value '20'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:sqn, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'sqn'
> value '0'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:cdsc, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'cdsc'
> value '1 image udptl t38'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:cpar, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'cpar'
> value ' a=T38FaxVersion:0'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:cpar, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'cpar'
> value ' a=T38MaxBitRate:14400'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:cpar, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'cpar'
> value ' a=T38FaxRateManagement:transferredTCF'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:cpar, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'cpar'
> value ' a=T38FaxMaxBuffer:336'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:cpar, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'cpar'
> value ' a=T38FaxMaxDatagram:176'
> (4458) DEBUG: attr_check (AmSdp.cpp:1152): sdp_parse_attr: Unknow
> attribute name used:cpar, plz see RFC4566
> (4458) DEBUG: parse_sdp_attr (AmSdp.cpp:881): found media attr 'cpar'
> value ' a=T38FaxUdpEC:t38UDPRedundancy'
> 
> So T38 SDP parsing is just not implemented. Is there a already a patch
> to do it, or is there a way to ignore unknown attributes to get sdp
> parsing succesfully or do I have to write my own special sdp parser?
> 
> regards
> helmut
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.8 (MingW32)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
> 
> iEYEARECAAYFAkhWV2cACgkQ4tZeNddg3dznpQCeLC57U8l3tj52HhtzJsO8JWIy
> 0a8An34R5S3cQfEnZYLNC0BB1dN6gBzK
> =cfND
> -----END PGP SIGNATURE-----
> _______________________________________________
> Sems mailing list
> [email protected]
> http://lists.iptel.org/mailman/listinfo/sems

-- 
Stefan Sayer
VoIP Services

[EMAIL PROTECTED]
www.iptego.com

iptego GmbH
Am Borsigturm 40
13507 Berlin
Germany

Amtsgericht Charlottenburg, HRB 101010
Geschaeftsfuehrer: Alexander Hoffmann
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to