On Wed, 2009-02-18 at 17:31 +0000, Gabor Paller wrote: > Hi, > > I have the following interesting situation with SipX 3.10.2. There is a > JAIN-SIP application subscribed to MWI notifications. Before the > scenario presented below, there was a successful subscription and it is > expiring, therefore the application sends a new subscribe. The > subscription progresses nicely, the first SUBSCRIBE is challenged and > now the application sends the SUBSCRIBE with the credentials. > > 17:55:29,661: > SUBSCRIBE sip:[email protected] SIP/2.0... > > After this message, however, 202 Accepted does not arrive but SipX > immediately returns a NOTIFY. > > 17:55:29,694: > NOTIFY sip:[email protected]:5560 SIP/2.0... > > This confuses the JAIN-SIP stack, as there is no SUBSCRIBE dialog > established, the NOTIFY goes into the void and cannot be responded to. > > Eventually the 202 arrives.
If true, that's a bug in JAIN-SIP. There is no defined ordering between the SUBSCRIBE response and the NOTIFY - the subscriber must be willing to receive them in either order. This is because even if the server were to send them in some order, the two messages may follow different paths through the network: the SUBSCRIBE response must follow the Vias, but the NOTIFY follows the Route set for the dialog - these may not be the same (and even if they are not, UDP does not provide an ordered service). The subscriber must also cope with the fact that it may not receive any 202 at all for some dialogs established by a SUBSCRIBE. If the SUBSCRIBE request is forked in a proxy and accepted by multiple UAs, the subscriber will receive only one of the 202 responses. The proxy will discard the others, since a proxy cannot send multiple final responses to a non-INVITE request. The only way that the subscriber will discover the other dialogs created by the forked SUBSCRIBE is by looking at the tag values on the initial NOTIFY messages. _______________________________________________ sipx-users mailing list [email protected] List Archive: http://list.sipfoundry.org/archive/sipx-users Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-users
