Hi Benny, sorry, I wasn't clear - pjsua wasn't running when the interfaces changed. I think I understand at least part of the problem now though. pjsua will use the ip address returned by gethostbyname in the SIP URL when creating a new request BUT when responding to a request, it will send it to where it came from. So A sends to B and the url has been typed in so its sip:localhost:5062 and B replies with 200 OK to the address the message came from which is localhost:5062 and puts its own url in, which is sip:192.168.2.195:5062 which it got from gethostbyname. A then sends the ACK to sip:192.168.2.195:5062, not to sip:localhost:5062 but 192.168.2.195 doesn't work because the interface with this IP address is down. So A is left in the CONNECTED state and B is left in the CONNECTING state. Its really hard in a dynamic IP environment with wired and wireless ports to keep gethostbyname always meaningful, especially when only the loopback interface is operational (e.g. when I'm on the train). Several applications complain if you add the hostname to the loopback address in /etc/hosts. It would be better if pjsua worked out its IP address for its URL from the list of working interfaces, not from gethostbyname. Ekiga seems to do something like this - it doesn't like running AT ALL if only the loopback interface is up. Julian --------------------------------- Rise to the challenge for Sport Relief with Yahoo! for Good -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080306/f4956cbb/attachment.html