Sorry guys ... my fault ... the previous text was a screw up ...
I send it now with proper windows formatting ...
Cesc
>> Cesc Santasusana 03/18/05 02:36PM >>>
Hi,
With the advent of TLS support for SER, i was testing it with KPhone
(TLS being used between SER proxies only, Kphone-to-SER via UDP).
Turned out that kphone would not respond to any message (it would
receive them, but plain ignore them).
The problem: TLS as transport mode in the VIA headers was not
supported,
thus, the SIP messages were considered not valid.
I am attaching a patch to correct this for kphone 4.1.0, but i guess it
can be applied
with little modifications to earlier versions (4.0.3 to 4.0.5) but i am
not sure.
Regards,
Cesc
PATCH STARTS HERE:
Index: dissipate2/sipclient.cpp
===================================================================
--- dissipate2/sipclient.cpp (revision 1)
+++ dissipate2/sipclient.cpp (working copy)
@@ -1034,6 +1034,9 @@
printf( "SipClient: Sending TCP Response\n" );
outsocket = new TCPMessageSocket;
break;
+ case SipVia::TLS:
+ printf( "SipClient: TLS in top via, not
supported (full TLS support not implemented)\n" );
+ break;
case SipVia::BadTransport:
printf( "SipClient: Bad transport on incoming
Via\n" );
break;
@@ -1232,6 +1235,9 @@
printf( "SipClient: Sending TCP Response\n" );
outsocket = new TCPMessageSocket;
break;
+ case SipVia::TLS:
+ printf( "SipClient: TLS in top via, not
supported (full TLS support not implemented)\n" );
+ break;
case SipVia::BadTransport:
printf( "SipClient: Bad transport on incoming
Via\n" );
break;
Index: dissipate2/sipvia.h
===================================================================
--- dissipate2/sipvia.h (revision 1)
+++ dissipate2/sipvia.h (working copy)
@@ -49,6 +49,7 @@
enum Transport {
UDP,
TCP,
+ TLS,
BadTransport };
/**
Index: dissipate2/sipvia.cpp
===================================================================
--- dissipate2/sipvia.cpp (revision 1)
+++ dissipate2/sipvia.cpp (working copy)
@@ -37,6 +37,7 @@
switch ( t ) {
case UDP: return "UDP";
case TCP: return "TCP";
+ case TLS: return "TLS";
case BadTransport: return "BAD";
}
return QString::null;
@@ -46,6 +47,7 @@
{
if ( t.compare( getTransportString( UDP ) ) == 0 ) { return UDP;
}
if ( t.compare( getTransportString( TCP ) ) == 0 ) { return TCP;
};
+ if ( t.compare( getTransportString( TLS ) ) == 0 ) { return TLS;
};
return BadTransport;
}
PATCH ENDS HERE
Unclassified