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
