Hi,

 

We are developing a Java based SIP gateway implementation and are performing some integration tests on a kamailio/msrprelay server (plugin from www.msrprelay.org).

The SIP signaling part works so far, but when sending a MSRP message, the client receives a 501 “Unknown method” error. However, it seems the request does not reach the MSRP module on the server as there is no corresponding trace log on the server side.

 

On Protocol level, everything looks fine so far, the sequence executed is as follows:

 

-->SIP REGISTER

<-- SIP/2.0 401 Unauthorized

-->SIP REGISTER

<--SIP/2.0 200 OK

-->INVITE

<--SIP/2.0 407 Proxy Authentication Required

-->ACK

-->INVITE

<--SIP/2.0 180 Ringing

<--SIP/2.0 180 Ringing

<--SIP/2.0 200 OK

-->ACK

 

 

The INVITE is processed with the following SDP packet in the request:

 

v=0

o=- 1337788359935 1337788359935 IN IP4 localhost

s=MSRP Session

c=IN IP4 localhost

t=0 0

m=message 2855 TCP/MSRP *

a=path:msrp://localhost:2855/U3FuvW00m62UY0020H71;tcp

a=accept-types:message/cpim text/* application/im-iscomposing+xml

a=accept-wrapped-types:*

a=setup:active

 

And response:

v=0

o=- 3546777215 3546777216 IN IP4 46.105.78.68

s=sipsimple 0.20.0

c=IN IP4 46.105.78.68

t=0 0

m=message 57233 TCP/MSRP *

a=path:msrp://msrphost:2855/5AUNTOt7XlFsK7VuT4SzETEzMzc3ODg0MTUuMDcyOjQ2LjEwNS43OC42OA==;tcp msrp://msrphost:57233/6bf6dd73b9e4587b65b6;tcp

a=accept-types:message/cpim text/* application/im-iscomposing+xml

a=accept-wrapped-types:*

a=setup:passive

 

 

But when sending the MSRP message, 501 is returned:

 

MSRP f0CHA1TD SEND

To-Path: msrp://msrphost:57233/6bf6dd73b9e4587b65b6;tcp

From-Path: msrp://localhost:52673/b10XadK9;tcp

Message-ID: 13377883623135c260a3568cc

Byte-Range: 1-*/14

 

Hello Francois

-------f0CHA1TD$

 

 

MSRP f0CHA1TD 501 Unknown method: SEND

To-Path: msrp://localhost:52673/b10XadK9;tcp

From-Path: msrp://msrphost:57233/6bf6dd73b9e4587b65b6;tcp

-------f0CHA1TD$

 

 

When testing with two sip-simple client endpoints, MSRP messaging works fine, but on protocol traces we cannot identify any differences between sip-simple communication flows and the ones we are implementing.

Does anyone have a hint on what is wrong in this message flow? Any advice is appreciated.

 

Thanks,

Alex