1 #include "fct.h"
2 
3 #include "log.h"
4 
5 #include "AmSdp.h"
6 
7 #define CRLF "\r\n"
8 #define LF "\n"
9 
FCTMF_SUITE_BGN(test_sdp)10 FCTMF_SUITE_BGN(test_sdp) {
11 
12     FCT_TEST_BGN(normal_sdp_ok) {
13       AmSdp s;
14       string sdp =
15 	"v=0" CRLF
16 	"o=- 3615077380 3615077398 IN IP4 178.66.14.5" CRLF
17 	"s=-" CRLF
18 	"c=IN IP4 178.66.14.5" CRLF
19 	"t=0 0" CRLF
20 	"m=audio 21964 RTP/AVP 0 101" CRLF
21 	"a=sendrecv" CRLF
22 	"a=ptime:20" CRLF
23 	"a=rtpmap:0 PCMU/8000" CRLF
24 	"a=rtpmap:101 telephone-event/8000" CRLF
25 	"a=fmtp:101 0-15" CRLF ;
26 
27       fct_chk(!s.parse(sdp.c_str()));
28       fct_chk(s.version==0);
29       fct_chk(s.origin.user == "-");
30       fct_chk(s.origin.sessId == 3615077380);
31       fct_chk(s.origin.sessV == 3615077398);
32       fct_chk(s.origin.conn.address == "178.66.14.5");
33       fct_chk(s.origin.conn.network == NT_IN);
34       fct_chk(s.origin.conn.addrType == AT_V4);
35 
36       fct_chk(s.conn.address == "178.66.14.5");
37       fct_chk(s.conn.network == NT_IN);
38       fct_chk(s.conn.addrType == AT_V4);
39 
40       fct_chk(s.media.size() == 1);
41       fct_chk(s.media[0].type == MT_AUDIO);
42       fct_chk(s.media[0].port == 21964);
43       fct_chk(s.media[0].transport == TP_RTPAVP);
44       fct_chk(s.media[0].payloads.size()==2);
45       fct_chk(s.media[0].payloads[0].payload_type==0);
46       fct_chk(s.media[0].payloads[1].payload_type==101);
47       fct_chk(s.media[0].payloads[0].encoding_name=="PCMU");
48       fct_chk(s.media[0].payloads[1].encoding_name=="telephone-event");
49     } FCT_TEST_END();
50 
51     FCT_TEST_BGN(sdp_LF_no_CRLF) {
52       AmSdp s;
53       string sdp =
54 	"v=0" LF
55 	"o=- 3615077380 3615077398 IN IP4 178.66.14.5" LF
56 	"s=-" LF
57 	"c=IN IP4 178.66.14.5" LF
58 	"t=0 0" LF
59 	"m=audio 21964 RTP/AVP 0 101" LF
60 	"a=sendrecv" LF
61 	"a=ptime:20" LF
62 	"a=rtpmap:0 PCMU/8000" LF
63 	"a=rtpmap:101 telephone-event/8000" LF
64 	"a=fmtp:101 0-15" LF ;
65 
66       fct_chk(!s.parse(sdp.c_str()));
67       fct_chk(s.version==0);
68       fct_chk(s.origin.user == "-");
69       fct_chk(s.origin.sessId == 3615077380);
70       fct_chk(s.origin.sessV == 3615077398);
71       fct_chk(s.origin.conn.address == "178.66.14.5");
72       fct_chk(s.origin.conn.network == NT_IN);
73       fct_chk(s.origin.conn.addrType == AT_V4);
74 
75       fct_chk(s.conn.address == "178.66.14.5");
76       fct_chk(s.conn.network == NT_IN);
77       fct_chk(s.conn.addrType == AT_V4);
78 
79       fct_chk(s.media.size() == 1);
80       fct_chk(s.media[0].type == MT_AUDIO);
81       fct_chk(s.media[0].port == 21964);
82       fct_chk(s.media[0].transport == TP_RTPAVP);
83       fct_chk(s.media[0].payloads.size()==2);
84       fct_chk(s.media[0].payloads[0].payload_type==0);
85       fct_chk(s.media[0].payloads[1].payload_type==101);
86       fct_chk(s.media[0].payloads[0].encoding_name=="PCMU");
87       fct_chk(s.media[0].payloads[1].encoding_name=="telephone-event");
88     } FCT_TEST_END();
89 
90 } FCTMF_SUITE_END();
91