Transcript PJSUA
PJSUA – A command line SIP user agent Advisor: Quincy Wu Reporter: Ni-Ya Li Outline Getting Started PJSUA ◦ Option ◦ Application Menu (User Interface) Samples of PJSIP and PJMEDIA Demo Reference 2 Getting Started Download Source Code ◦ http://www.pjsip.org/release/1.5/pjproject1.5.tar.bz2 // newest version is 1.5 Install (Linux) ◦ ◦ ◦ ◦ ◦ # tar [-z] –vxf pjproject-1.5.tar.bz2 # cd pjproject-1.5 IPv6 support must be enabled during build process by declaring “ #define PJ_HAS_IPV6 1” # ./configure in your config_site.h # make (/pjlib/include/pj/config_site.h) # make install (need superuser privilege) 3 PJSUA – RUN # cd /pjproject-1.5/pjsip-apps/bin/ # ./pjsua [option] [SIP URL to call] 4 PJSUA – Options General Options: ◦ --help, show the command line help ◦ --version, display version Account Options: ◦ --id=URL, ex: --id sip:[email protected] ◦ --registrar=URL, ex: --registrar sip:test.com Authentication Options: ◦ --username=STRING, ex: --username linear ◦ --password=STRING, ex: --password secret 5 PJSUA – Options (cont.) Transport Options: ◦ --ipv6, added in v1.2 ◦ --local-port=PORT, default is 5060 for UDP and TCP Media Options: ◦ --add-codec=NAME, pcma, pcmu, speex/8000, speex/16000, speex/32000, ilbc, gsm, l16/44100/2, etc. ◦ --play-file=WAVFILE, play the WAV file to incoming call ◦ --auto-loop, loop-back call to itself 6 PJSUA – Options (cont.) Media Transport Options ◦ --rtp-port=N, default is 4000 ◦ --use-ice, enable ICE (Interactive Connectivity Establishment) ◦ --use-turn, enable TURN(Traversal Using Relay NAT) Buddy List ◦ --add-buddy=URL, like yellow pages 7 PJSUA – Options (cont.) User Agent Options: ◦ --auto-answer=CODE, answer incoming call with specific code, default is 100(Trying) ◦ --max-calls=N, Maximum number of incoming calls, default is 4 8 Application Menu(User Interface) 9 Architecture 10 Samples of PJSIP and PJMEDIA PJSIP ◦ simpleua – simple UA application, be able receive a call ◦ simple_pjsua – with registration, more advanced than simpleua PJMEDIA ◦ playfile – playing wav file to sound device ◦ recfile – capture audio to wav file ◦ streamutil – stream media file to remote peer using RTP ◦ siprtp – measure the network quality 11 Demo – IPv4 <SIP server> 10.10.59.91 IPv4 SIP signaling UA1(PJSUA) IPv4 SIP signaling IPv4 RTP transmitting UA2(X-Lite) 12 Demo – IPv6 <SIP server> 2001:e10:6840:21:21e:90ff:fe18:4cc IPv6 SIP signaling UA1(PJSUA) IPv6 SIP signaling IPv6 RTP transmitting UA2(PJSUA) 13 Reference http://www.pjsip.org/ - PJSIP Home Page http://www.pjsip.org/pjsua.htm - PJSUA Manual Page http://www.pjsip.org/pjmedia/docs/html/pa ge_pjmedia_samples.htm - PJMEDIA and PJMEDIA-CODEC Examples 14