I am writing an application which will be a single process acting as both an originating and terminating application. This will be required to concurrently connect to more than one MMSC.
Assuming the MMSC's don't have separate TCP/IP addresses, i.e. they are co-located on a single 'host' but 'listen' for incoming connections on different sockets, then it would seem there is now means to uniquely identify the an originating MMSC when it sends a M-Send.req to my application. This wouldn't matter but my application has to be 'asynchronous' and so must eventually send a final status back to the originating MMSC, assume for now this will not be sent back over the connection established by the MMSC in order to send the M-Send.req.
It would seem to me that the only practical solutions to this are either:
Each MMSC has a unique TCP/IP address which I can extract from a connection created by the MMSC and use to identify a particular MMSC.
Each MMSC is configured to make connection requests on a separate port on the host executing my server application so any incoming connection can only be to one particular MMSC.
Of course there presumably exists a similar issue for the MMSC but that's not my problem :-)