I forgot to mention that I'm using pjsua2 as a SIP trunk that accepts incoming calls and there is no registration. On Wed, Mar 18, 2015 at 3:39 PM, Brian White <mscdex at mscdex.net> wrote: > This is the first time I've used pjsip/pjsua2 on a multihomed system but I > noticed that when setting an AccountConfig's > `mediaConfig.transportConfig.publicAddress` and/or > `mediaConfig.transportConfig.boundAddress` to the IP address of the correct > network interface (on Linux), I see errors when the call media comes in: > > ERROR: Unable to resolve transport bind address: gethostbyname() has > returned error (PJ_ERESOLVE) [status=70018] > ERROR: Unable to create RTP/RTCP socket: gethostbyname() has returned > error (PJ_ERESOLVE) [status=70018] > ERROR: Error creating media transport: gethostbyname() has returned error > (PJ_ERESOLVE) > ERROR: Error initializing media channel: gethostbyname() has returned > error (PJ_ERESOLVE) [status=70018] > ERROR: pjsua_call_answer2(id, param.p_opt, prm.statusCode, param.p_reason, > param.p_msg_data) error: gethostbyname() has returned error (PJ_ERESOLVE) > (status=70018) [../src/pjsua2/call.cpp:490] > > If I don't set those values, the call "works" but no RTP packets are > received because it's listening on the wrong network interface (I verified > this by checking the address used in the SDP sent by pjsip). > > Setting the TransportConfig's `publicAddress` and `boundAddress` of the > Transport to the *same IP address* works just fine and is bound correctly. > I verified that by looking at the pjsip debug output. > > I have even tried adding a hostname to /etc/hosts that points to the IP > address, and once again that works for the signalling address but not the > media address. > > Making the same call to `gethostbyname()` from say a Python script works > just fine, whether I pass the same network interface IP or the "fake" > hostname, so I'm not sure why pjsip is having such a problem. > > I'm not using ICE/STUN/TURN/etc. because it's not a NAT issue, these calls > are all happening on the same local network. pjsua2 works just fine on our > systems with only one network interface. > > It would be nice if pjsip showed the resulting `herror()` when > `gethostbyname()` returns NULL. I tried adding this and other debug > messages myself but for some reason I never see my printf()s in the console > after recompiling and reinstalling from source. > > If anyone has any suggestions or ideas, I would appreciate it as I am > really at a dead end here. > > Thanks > > - Brian > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20150319/f6efa370/attachment.html>