< Previous by Date Date Index Next by Date >
  Thread Index  

[reSIProcate] stateless-proxy transportselector problem


Developers,

I've been following the list for about a month and finally
had some time
to jump in on some stuff I've been needing to work on.
Current SVN 
revision is 3278.

I started with the stateless proxy example to get a dummy OK
back to a 
Polycom IP 500 Phone because of issues it has.

I got past the issue of "proto" being NULL in the
constructor and Data() 
asserting a null condition.

In requestValidation() I added:
   if (request->header(h_RequestLine).getMethod() ==
REGISTER) {
      sendResponse( request, 200 );
      return false;
   }

Now when I receive a REGISTER it results in:
   stateless-proxy: TransportSelector.cxx:572: void
resip::TransportSelector::transmit(
resip::SipMessage*, resip::Tuple&): Assertion
'target.transport' failed.

In StatelessHandler.cxx:82 an attempt is made to build the
target Tuple:
   Tuple destination(via.param(p_received), port,
                       
Tuple::toTransport(via.transport()));

however the 3rd param is really populating mTransportType
and not transport...
the destination.transport is still NULL. Method names are a
little misleading here.

I have a no-holds-barred HACK in place so it routes for me
at the moment but
I know it is wrong...  there is a comment at the beginning
of TransportSelector::
transmit() that the transport-determination logic is also
needed for responses...

If I'm on the right path let me know and I'll finish out the
TransportSelector::transmit() code and submit it...   If
not, point me, please.

I hope to be actively invovled moving forward and I should
have a number of
'sample' programs for people just getting started after I
finish getting over
this hurdle.

Jay