|
reSIProcate/stack
9694
|
#include "resip/stack/SipMessage.hxx"#include "resip/stack/Uri.hxx"#include "resip/stack/test/TestSupport.hxx"#include <iostream>#include <memory>
Go to the source code of this file.
Functions | |
| int | main () |
| int main | ( | void | ) |
Definition at line 12 of file testSipMessageMemory.cxx.
References resip::TestSupport::makeMessage(), resipCerr, and resipCout.
{
{
const char *txt1 = "REGISTER sip:registrar.biloxi.com SIP/2.0\r\nVia: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7\r\nMax-Forwards: 70\r\nTo: Bob <sip:bob@biloxi.com>\r\nFrom: Bob <sip:bob@biloxi.com>;tag=456248\r\nCall-ID: 843817637684230@998sdasdh09\r\nCSeq: 1826 REGISTER\r\nContact: <sip:bob@192.0.2.4>\r\nExpires: 7200\r\nContent-Length: 0\r\n\r\n";
auto_ptr<SipMessage> message1(TestSupport::makeMessage(Data(txt1)));
auto_ptr<SipMessage> message2(TestSupport::makeMessage(Data(txt1)));
NameAddr local;
local = message1->header(h_From);
local = message2->header(h_From);
}
{
resipCerr << "Testing raw header transfer" << endl;
const char *txt1 = "REGISTER sip:registrar.biloxi.com SIP/2.0\r\nVia: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7\r\nMax-Forwards: 70\r\nTo: Bob <sip:bob@biloxi.com>\r\nFrom: Bob <sip:bob@biloxi.com>;tag=456248\r\nCall-ID: 843817637684230@998sdasdh09\r\nCSeq: 1826 REGISTER\r\nContact: <sip:bob@192.0.2.4>\r\nExpires: 7200\r\nContent-Length: 0\r\n\r\n";
const char *txt2 = "REGISTER sip:registrar.ixolib.com SIP/2.0\r\nVia: SIP/2.0/UDP qoqspc.ixolib.com:5060;branch=2222222222\r\nMax-Forwards: 70\r\nTo: Qoq <sip:qoq@ixolib.com>\r\nFrom: Qoq <sip:qoq@ixolib.com>;tag=456248\r\nCall-ID: 111111111111111\r\nCSeq: 6281 REGISTER\r\nContact: <sip:qoq@192.0.2.4>\r\nExpires: 7200\r\nContent-Length: 0\r\n\r\n";
auto_ptr<SipMessage> message1(TestSupport::makeMessage(Data(txt1)));
auto_ptr<SipMessage> message2(TestSupport::makeMessage(Data(txt2)));
assert(message1->getRawHeader(Headers::CSeq)->getParserContainer() == 0);
assert(message2->getRawHeader(Headers::CSeq)->getParserContainer() == 0);
message1->setRawHeader(message2->getRawHeader(Headers::CSeq), Headers::CSeq);
message1->encode(resipCerr) << endl;
assert(message1->header(h_CSeq).sequence() == 6281);
}
{
resipCerr << "Testing raw header transfer post parse" << endl;
const char *txt1 = "REGISTER sip:registrar.biloxi.com SIP/2.0\r\nVia: SIP/2.0/UDP bobspc.biloxi.com:5060;branch=z9hG4bKnashds7\r\nMax-Forwards: 70\r\nTo: Bob <sip:bob@biloxi.com>\r\nFrom: Bob <sip:bob@biloxi.com>;tag=456248\r\nCall-ID: 843817637684230@998sdasdh09\r\nCSeq: 1826 REGISTER\r\nContact: <sip:bob@192.0.2.4>\r\nExpires: 7200\r\nContent-Length: 0\r\n\r\n";
const char *txt2 = "REGISTER sip:registrar.ixolib.com SIP/2.0\r\nVia: SIP/2.0/UDP qoqspc.ixolib.com:5060;branch=2222222222\r\nMax-Forwards: 70\r\nTo: Qoq <sip:qoq@ixolib.com>\r\nFrom: Qoq <sip:qoq@ixolib.com>;tag=456248\r\nCall-ID: 111111111111111\r\nCSeq: 6281 REGISTER\r\nContact: <sip:qoq@192.0.2.4>\r\nExpires: 7200\r\nContent-Length: 0\r\n\r\n";
auto_ptr<SipMessage> message1(TestSupport::makeMessage(Data(txt1)));
auto_ptr<SipMessage> message2(TestSupport::makeMessage(Data(txt2)));
assert(message1->getRawHeader(Headers::CSeq)->getParserContainer() == 0);
assert(message2->getRawHeader(Headers::CSeq)->getParserContainer() == 0);
// causes parse
assert(message2->header(h_CSeq).sequence() == 6281);
// should have a parsed header
assert(message2->getRawHeader(Headers::CSeq)->getParserContainer());
// should still work, but copies
message1->setRawHeader(message2->getRawHeader(Headers::CSeq), Headers::CSeq);
message1->encode(resipCerr) << endl;
assert(message1->header(h_CSeq).sequence() == 6281);
// should have a parsed header
assert(message1->getRawHeader(Headers::CSeq)->getParserContainer());
}
resipCout << "All OK" << endl;
return 0;
}

1.7.5.1