It could work since :
The SIP-URI is taken from the Transaction.
Try adding a fake param to differenciate them, it may be stored in the transaction URI.
Several functions like `ds_get_state(group, &uri)` are finding the GW in the set using the URI, if you have duplicates only one will be returned and it may not be the right one.