Restcomm-Connect icon indicating copy to clipboard operation
Restcomm-Connect copied to clipboard

Restcomm REFER is using IP instead of Organization in URI

Open croufay opened this issue 6 years ago • 0 comments

we have replicated the scenario in our laboratory with the same version as yours (8.3.0-20). I am attaching some information to our R&D team to give us a recommendation with the REFER method.

The modification in RestcommOne Connect 8.3.0-20 is:

Before:

        destinationOrganizationSid = getOrganizationSidBySipURIHost(storage, (SipURI)request.getRequestURI());
        // try to get destinationOrganizationSid from toUril
        destinationOrganizationSid = destinationOrganizationSid != null ? destinationOrganizationSid : getOrganizationSidBySipURIHost(storage, (SipURI)request.getTo().getURI());

After:

        if (request.getMethod().equals("REFER")) {
            destinationOrganizationSid = getOrganizationSidBySipURIHost(storage, (SipURI)request.getAddressHeader("Refer-To").getURI());
            if(destinationOrganizationSid == null){
                logger.error("destinationOrganizationSid is NULL: Refer-To Uri is: "+(SipURI)request.getAddressHeader("Refer-To").getURI());
            }else{
                logger.debug("getMostOptimalIncomingPhoneNumber: sourceOrganizationSid: "+sourceOrganizationSid+" : destinationOrganizationSid: "+destinationOrganizationSid +" Refer-To Uri is: "+(SipURI)request.getAddressHeader("Refer-To").getURI());
            }
        } else {
            destinationOrganizationSid = getOrganizationSidBySipURIHost(storage, (SipURI)request.getRequestURI());
            // try to get destinationOrganizationSid from toUril
            destinationOrganizationSid = destinationOrganizationSid != null ? destinationOrganizationSid : getOrganizationSidBySipURIHost(storage, (SipURI)request.getTo().getURI());
        }

I have tried from RVD applications and customer RCML application and the patch is working.

The first patch was not working because the getMostOptimalIncomingPhoneNumber method is used by others SIP methods.

croufay avatar Apr 06 '18 19:04 croufay