[reSIProcate] bug in StatelessHandler::process() ?

martin.van.den.berg at philips.com martin.van.den.berg at philips.com
Mon Aug 2 02:41:49 CDT 2004


The stateless proxy has probably undergone some bit rot. Can you run your
test and post the output with the log level set at Log::Stack.

e.g.

./stateless-proxy -l cout -v STACK  ...
<..........>




Ok, you can find the trace below:

INFO | 20040802-093059 | proxy | RESIP:TRANSPORT | 1620 | 
udptransport.cxx:31 | Creating udp transport host= port=5060 ipv4=1
DEBUG | 20040802-093059 | proxy | RESIP:TRANSPORT | 1620 | 
transport.cxx:100 | Creating fd=744 V4/UDP
DEBUG | 20040802-093059 | proxy | RESIP:TRANSPORT | 1620 | 
transport.cxx:108 | Binding to 0.0.0.0
INFO | 20040802-093059 | proxy | RESIP:TRANSPORT | 1620 | 
transportselector.cxx:142 | Adding transport: [ V4 0.0.0.0:5060 UDP 
connectionId=0 ]
DEBUG | 20040802-093059 | proxy | RESIP:TRANSPORT | 1620 | 
transport.cxx:100 | Creating fd=728 V4/TCP
DEBUG | 20040802-093059 | proxy | RESIP:TRANSPORT | 1620 | 
transport.cxx:108 | Binding to 0.0.0.0
INFO | 20040802-093059 | proxy | RESIP:TRANSPORT | 1620 | 
transportselector.cxx:142 | Adding transport: [ V4 0.0.0.0:5060 TCP 
connectionId=0 ]
DEBUG | 20040802-093254 | proxy | RESIP:TRANSPORT | 920 | 
transport.cxx:374 | incoming from: [ V4 130.139.45.174:1048 UDP received 
on: Transport: [ V4 0.0.0.0:5060 UDP connectionId=0 ] connectionId=0 ]
STACK | 20040802-093254 | proxy | RESIP:TRANSPORT | 920 | 
transport.cxx:375 | 
INVITE sip:130.139.44.249 SIP/2.0
To: <sip:130.139.44.249>
From: "MvdBerg" <sip:118484C>;tag=d423cdbd2f47469787566e318858166e
Via: SIP/2.0/UDP 130.139.45.174:11802;received=130.139.45.174
Call-ID: 9180daf3359e4a8ca2dacc0ec4d539db at 130.139.45.174
CSeq: 1 INVITE
Contact: <sip:130.139.45.174:11802>
Max-Forwards: 70
Content-Type: application/sdp
User-Agent: RTC/1.2
Content-Length: 289


v=0
o=- 0 0 IN IP4 130.139.45.174
s=session
c=IN IP4 130.139.45.174
b=CT:1000
t=0 0
m=audio 37462 RTP/AVP 97 0 8 4 101
a=rtpmap:97 red/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=encryption:rejected


DEBUG | 20040802-093254 | proxy | RESIP:TRANSACTION | 920 | 
statelesshandler.cxx:46 | Processing sip from wire: SipReq:  INVITE 
130.139.44.249 tid=afa6dee3e3a796a0fcb8b8dff67f15d4 cseq=INVITE / 1 
from(wire)
DEBUG | 20040802-093254 | proxy | RESIP | 920 | sipstack.cxx:278 | RECV: 
SipReq:  INVITE 130.139.44.249 tid=afa6dee3e3a796a0fcb8b8dff67f15d4 
cseq=INVITE / 1 from(wire)
INFO | 20040802-093254 | proxy | RESIP:TEST | 920 | statelessproxy.cxx:69 
| stack1 got: SipReq:  INVITE 130.139.44.249 
tid=afa6dee3e3a796a0fcb8b8dff67f15d4 cseq=INVITE / 1 from(wire) from user: 

DEBUG | 20040802-093254 | proxy | RESIP:TEST | 920 | 
statelessproxy.cxx:215 | proxy request : 1f2e032b42890145a9c31762263858a2 
: SipReq:  INVITE 130.139.44.249 tid=1f2e032b42890145a9c31762263858a2 
cseq=INVITE / 1 from(wire)
DEBUG | 20040802-093254 | proxy | RESIP:TRANSACTION | 920 | 
statelesshandler.cxx:61 | Processing request from TU : SipReq:  INVITE 
130.139.44.249 tid=1f2e032b42890145a9c31762263858a2 cseq=INVITE / 1 
from(tu)
DEBUG | 20040802-093254 | proxy | RESIP:DNS | 920 | dnsresult.cxx:116 | 
DnsResult::lookup sip:130.139.45.174:5070;protocol=UDP
DEBUG | 20040802-093254 | proxy | RESIP:DNS | 920 | dnsresult.cxx:166 | 
Numeric result so return immediately: [ V4 130.139.45.174:5070 UDP 
connectionId=0 ]
DEBUG | 20040802-093254 | proxy | RESIP:TRANSPORT | 920 | 
transport.cxx:374 | incoming from: [ V4 130.139.45.174:1048 UDP received 
on: Transport: [ V4 0.0.0.0:5060 UDP connectionId=0 ] connectionId=0 ]
STACK | 20040802-093254 | proxy | RESIP:TRANSPORT | 920 | 
transport.cxx:375 | 
INVITE sip:130.139.44.249 SIP/2.0
To: <sip:130.139.44.249>
From: "MvdBerg" <sip:118484C>;tag=d423cdbd2f47469787566e318858166e
Via: SIP/2.0/UDP 130.139.45.174:11802;received=130.139.45.174
Call-ID: 9180daf3359e4a8ca2dacc0ec4d539db at 130.139.45.174
CSeq: 1 INVITE
Contact: <sip:130.139.45.174:11802>
Max-Forwards: 70
Content-Type: application/sdp
User-Agent: RTC/1.2
Content-Length: 289

<etc...>


I've made a little change in StatelessHandler.cxx which makes it work. But 
I don't know if this is 100% correct...

            else  // line 59
            {
               DebugLog (<< "Processing request from TU : " << 
msg->brief());
               StatelessMessage* stateless = new StatelessMessage(mController.mTransportSelector, sip);
               DnsResult*dnsr = 
mController.mTransportSelector.dnsResolve(sip, stateless);
                // Modification MvdB 2004-08-02: Added 5 lines
                   if (dnsr->available() == DnsResult::Available )
                   {
                          mController.mTransportSelector.transmit(sip, 
dnsr->next() );
                   }
                   delete dnsr;
                // End Mod
            }

Martin.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20040802/f455707c/attachment.htm>


More information about the resiprocate-devel mailing list