Hi Ashish, I think you should familiarize yourself with running plain pjsua client before introducing stun/ice/turn. But if you want to run pjsua and use turn server, you need to start a single instance of pjsua with appropriate arguments to set turn credentials and a single instance of turn server with matching credentials. The pjsua turn options are: --use-turn Enable TURN relay with ICE (default:no) --turn-srv Domain or host name of TURN server ("NAME:PORT" format) --turn-tcp Use TCP connection to TURN server (default no) --turn-user TURN username --turn-passwd TURN password The corresponding pjturn_client options are (copying from code): 541 puts("Usage: pjturn_client TURN-SERVER [OPTIONS]"); 542 puts(""); 543 puts("where TURN-SERVER is \"host[:port]\""); 544 puts(""); 545 puts("and OPTIONS:"); 546 puts(" --tcp, -T Use TCP to connect to TURN server"); 547 puts(" --realm, -r REALM Set realm of the credential to REALM"); 548 puts(" --username, -u UID Set username of the credential to UID"); 549 puts(" --password, -p PASSWD Set password of the credential to PASSWD"); 550 puts(" --fingerprint, -F Use fingerprint for outgoing requests"); 551 puts(" --stun-srv, -S NAME Use this STUN srv instead of TURN for Binding discovery"); 552 puts(" --nameserver, -N IP Activate DNS SRV, use this DNS server"); 553 puts(" --help, -h"); Running pjsua with turn will cause all media to be relayed through turn relay. If you also specify --use-ice, and the other endpoint supports ice, then pjsua will negotiate with the other endpoint and will optionally use turn relay. I wouldn't bother with stun. Bill On 11/3/2014 6:52 AM, ashish khowal wrote: > Hi Victor, > > thanks for your response. > > PJNATH functionality is what I want to test I am using PJSIP > executables after I compiled the PJSIP. Here are the commands I used > for different testing > > ./pjsua-x86_64-unknown-linux-gnu --use-turn --turn-srv=<IP_Address> > ./pjsua-x86_64-unknown-linux-gnu --stun-srv=<SERVER_IP_ADDR:PORT> > ./pjsua-x86_64-unknown-linux-gnu --username=ashish --password=khowal > --turn-srv=SERVER IP_ADDR > ./pjsua-x86_64-unknown-linux-gnu --username=ashish --password=khowal > SERVER_IP_ADDR > ./pjturn-client-x86_64-unknown-linux-gnu -F IP_ADDR > ./pjturn-client-x86_64-unknown-linux-gnu IP_ADDR > ./pjsua-x86_64-unknown-linux-gnu sip:IP_ADDR > ./pjturn-client-x86_64-unknown-linux-gnu a <SERVER_IP> -u ashish -p > khowal -F <SERVER_IP> > > I*am not sure I am using the commands correctly. Here is one of the > snapshot of the command*s > > ashish at ashish:~/Downloads/pjdist/pjproject-2.3/pjsip-apps/bin$ > ./pjsua-x86_64-unknown-linux-gnu --use-turn --turn-srv > SERVER_IP_ADDR:3478 > 11:15:09.145 os_core_unix.c !pjlib 2.3 for POSIX initialized > 11:15:09.146 sip_endpoint.c .Creating endpoint instance... > 11:15:09.146 pjlib .select() I/O Queue created (0x1d22290) > 11:15:09.146 sip_endpoint.c .Module "mod-msg-print" registered > 11:15:09.146 sip_transport. .Transport manager created. > 11:15:09.146 pjsua_core.c .PJSUA state changed: NULL --> CREATED > 11:15:09.146 sip_endpoint.c .Module "mod-pjsua-log" registered > 11:15:09.146 sip_endpoint.c .Module "mod-tsx-layer" registered > 11:15:09.146 sip_endpoint.c .Module "mod-stateful-util" registered > 11:15:09.146 sip_endpoint.c .Module "mod-ua" registered > 11:15:09.146 sip_endpoint.c .Module "mod-100rel" registered > 11:15:09.146 sip_endpoint.c .Module "mod-pjsua" registered > 11:15:09.146 sip_endpoint.c .Module "mod-invite" registered > 11:15:09.146 pa_dev.c ..PortAudio sound library initialized, > status=0 > 11:15:09.146 pa_dev.c ..PortAudio host api count=1 > 11:15:09.146 pa_dev.c ..Sound device count=0 > 11:15:09.147 pjlib ..select() I/O Queue created (0x1d30348) > 11:15:09.153 sip_endpoint.c .Module "mod-evsub" registered > 11:15:09.153 sip_endpoint.c .Module "mod-presence" registered > 11:15:09.153 sip_endpoint.c .Module "mod-mwi" registered > 11:15:09.153 sip_endpoint.c .Module "mod-refer" registered > 11:15:09.153 sip_endpoint.c .Module "mod-pjsua-pres" registered > 11:15:09.153 sip_endpoint.c .Module "mod-pjsua-im" registered > 11:15:09.153 sip_endpoint.c .Module "mod-pjsua-options" registered > 11:15:09.153 pjsua_core.c .1 SIP worker threads created > 11:15:09.153 pjsua_core.c .pjsua version 2.3 for > Linux-3.5.0.23/x86_64/glibc-2.15 initialized > 11:15:09.153 pjsua_core.c .PJSUA state changed: CREATED --> INIT > 11:15:09.153 sip_endpoint.c Module "mod-default-handler" registered > 11:15:09.153 pjsua_core.c SIP UDP socket reachable at HOST_IP:5060 > 11:15:09.153 udp0x1d46640 SIP UDP transport started, published > address is HOST_IP:5060 > 11:15:09.153 pjsua_acc.c Adding account: id=<sip:HOST_IP:5060> > 11:15:09.153 pjsua_acc.c .Account <sip:HOST_IP:5060> added with id 0 > 11:15:09.153 pjsua_acc.c Modifying accunt 0 > 11:15:09.153 pjsua_acc.c Acc 0: setting online status to 1.. > 11:15:09.154 tcplis:5060 SIP TCP listener ready for incoming > connections at HOST_IP:5060 > 11:15:09.154 pjsua_acc.c Adding account: > id=<sip:Host_IP:5060;transport=TCP> > 11:15:09.154 pjsua_acc.c .Account <sip:HOST_IP:5060;transport=TCP> > added with id 1 > 11:15:09.154 pjsua_acc.c Modifying accunt 1 > 11:15:09.154 pjsua_acc.c Acc 1: setting online status to 1.. > 11:15:09.154 pjsua_core.c PJSUA state changed: INIT --> STARTING > 11:15:09.154 sip_endpoint.c .Module "mod-unsolicited-mwi" registered > 11:15:09.154 pjsua_core.c .PJSUA state changed: STARTING --> RUNNING > 11:15:09.154 main.c Ready: Success > >>>> > Account list: > [ 0] <sip:Host_IP:5060>: does not register > Online status: Online > *[ 1] <sip:Host_IP:5060;transport=TCP>: does not register > Online status: Online > Buddy list: > -none- > > +=============================================================================+ > | Call Commands: | Buddy, IM & Presence: | > Account: | > | | | | > | m Make new call | +b Add new buddy .| +a Add > new accnt | > | M Make multiple calls | -b Delete buddy | -a Delete > accnt. | > | a Answer call | i Send IM | !a Modify > accnt. | > | h Hangup call (ha=all) | s Subscribe presence | rr > (Re-)register | > | H Hold call | u Unsubscribe presence | ru > Unregister | > | v re-inVite (release hold) | t ToGgle Online status | > Cycle > next ac.| > | U send UPDATE | T Set online status | < Cycle > prev ac.| > | ],[ Select next/prev call > +--------------------------+-------------------+ > | x Xfer call | Media Commands: | Status & > Config: | > | X Xfer with Replaces | | | > | # Send RFC 2833 DTMF | cl List ports | d Dump > status | > | * Send DTMF with INFO | cc Connect port | dd Dump > detailed | > | dq Dump curr. call quality | cd Disconnect port | dc Dump > config | > | | V Adjust audio Volume | f Save > config | > | S Send arbitrary REQUEST | Cp Codec priorities > | | > +-----------------------------------------------------------------------------+ > | q QUIT L ReLoad sleep MS echo [0|1|txt] n: detect NAT > type | > +=============================================================================+ > You have 0 active call. > > I am new to PJSIP so please bear if am doing it silly. > > Thanks and Regards > Ashish > > > > On Mon, Nov 3, 2014 at 5:00 PM, Victor Medina > <victor.medina at cibersys.com <mailto:victor.medina at cibersys.com>> wrote: > > Hi! > > I may be wrong but PJNATH won't compile to a executable, so its > not a command. > PJNATH is a library you build your programs against it. > > 2014-11-03 6:42 GMT-04:30 ashish <aashishkhowal at gmail.com > <mailto:aashishkhowal at gmail.com>>: > > Hi all, > > Can anyone help me finding out the exact commands needed at > PJNATH client > for testing its functionality for STUN/TURN/ICE with turn server. > > Any help in this regard is appreciated. > > Thanks > Ashish > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org <mailto:pjsip at lists.pjsip.org> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > > -- > > V?ctor E. Medina M. > Software > +58424 291 4561 > BB #79A8AFA2 /@VMCibersys > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org <mailto:pjsip at lists.pjsip.org> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > > > -- > Regards > Ashish > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20141103/a5da73dc/attachment.html>