When using TCP and REGISTER (or SUBSCRIBE) there is a problem with the contact string.
When a REGISTER occurs in sip-dialog-controller.cpp :1028 a session is registered - and UDP is excluded but TCP isn't. When a new INVITE is then sent out (sometime after the REGISTER).
sip-dialog-controller.cpp:443 enters the if statement. I have left the UDP check - however, it is superfluous as NULL is always passed in. But, because of the above test m_pController->findTportForSubscription will return for UDP but if there it TCP and a REGISTER has happened then it will return the session and set the contact string to the local IP.
This fix uses the proto to correct the contact string - but I am not 100% certain this is the correct way to fix this.
When using TCP and REGISTER (or SUBSCRIBE) there is a problem with the contact string.
When a REGISTER occurs in sip-dialog-controller.cpp :1028 a session is registered - and UDP is excluded but TCP isn't. When a new INVITE is then sent out (sometime after the REGISTER).
sip-dialog-controller.cpp:443 enters the if statement. I have left the UDP check - however, it is superfluous as NULL is always passed in. But, because of the above test m_pController->findTportForSubscription will return for UDP but if there it TCP and a REGISTER has happened then it will return the session and set the contact string to the local IP.
This fix uses the proto to correct the contact string - but I am not 100% certain this is the correct way to fix this.
resolves #319