Hello, the only step I'd not be sure of is how the operating system will deal with SIPp asking to open a socket on a multicast address. So that's the first thing to try. You'll have to assign the multicast address to an interface first, in addition to a unicast one, by means of the operating system. You can only use IP addresses which are already up in the system as values of -i and other command line parameters of SIPp).
The next issue is that I would assume that the 200 OK response to the SUBSCRIBE as well as the NOTIFY have to be sent from, and the 200 OK response to the NOTIFY may be expected on, a unicast address of the server. To achieve that, you'll need to run two scenarios in parallel, one bound to the multicast address and only handling the reception of the SUBSCRIBE and the other one bound to the unicast one and handling all the rest. The scenario bound to the multicast address will expect the SUBSCRIBE to arrive and forward all its headers (using the [last-*] keywords) to the other scenario by means of <sendCmd>. The other scenario will use <action> and <ereg> in <recvCmd> to extract from the received inter-scenario message the contents of Contact and other headers it needs to use to populate the headers of the NOTIFY and of the 200 OK response to the SUBSCRIBE, use <setdest> to set the destination for the 200 OK response to the subscribe it will send send to the socket address extracted from the topmost Via header of the SUBSCRIBE, send the 200 OK, then use <setdest> again to set the destination for the NOTIFY to the socket address extracted from the Contact, send the NOTIFY with the necessary Content and with Subscription-State set to terminated;reason=noresource to properly terminate the dialog initiated by the SUBSCRIBE instead of having to handle the unsubscription request coming from the phone, and wait for the 200 OK response to that NOTIFY from the phone. The double <setdest> may be an overkill in most real life cases, but in general the phone may indicate a different socket in the Via (for the response to the current request) and in the Contact (for subsequent requests within the same dialog). Also, something is telling me that a scenario decides whether to behave as an UAS or UAC depending on whether <recv> or <send> is the first tag in the file even if a <recvCmd> precedes it, so you'll have to put <recv request=SUBSCRIBE optional="true"/> before the <recvCmd> in the scenario bound to the unicast socket to make it act as an UAS one although the optional SUBSCRIBE will actually never come. Pavel Dne 15.4.2019 v 20:14 Ed Lentz napsal(a): I am trying to get a PNP server working so I can send a url to my SIP based phones. Here is the sequence that has to happen: Phone sends a subscribe message to 224.0.1.75 Server sends an OK back to the phone Server sends a Notify to the phone to check-sync along with the URL Phone sends back a OK phone contacts the url address to download the appropriate files. Is this something SIPp can handle? If so How would I start? Thanks -- _______________________________________________ Sipp-users mailing list Sipp-users@lists.sourceforge.net<mailto:Sipp-users@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/sipp-users
_______________________________________________ Sipp-users mailing list Sipp-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/sipp-users