Hi all, I'm testing PJSIP with TCP transport, with windows mesenger. The environment is like this PJ <-----TCP-----> PROXY <---------TCP-----------> Windows Messenger. (WM) I used the example "simple_pjsua.c" from PJ's web site: file:///E:/Software/Sites/pjsip_pjsip_docs_html/www.pjsip.org/pjsip/docs/html/page_pjsip_sample_simple_pjsuaua_c.htm Modified 2 lines to use TCP. << status = pjsua_transport_create(PJSIP_TRANSPORT_UDP, &cfg, NULL); >> status = pjsua_transport_create(PJSIP_TRANSPORT_TCP, &cfg, NULL); << cfg.reg_uri = pj_str("sip:" SIP_DOMAIN ";transport=tcp"); >> cfg.reg_uri = pj_str("sip:" SIP_DOMAIN ";transport=tcp"); According to the packages I captured, the process is: 1. PJ register with port 5060 2. PJ changed to register with a random selected port, 39122 e.g., and un-register port 5060 3. PJ answer INVITE with 200 OK, with port 39122 in CONTACT header. 4. WM tries to connect to port 39122, but failed. So ACK could not be sent! PJ is not listening on 39122, but wrongly using it in CONTACT header of 200 OK. If further information needed. I can provide captured packages.