180 likes | 545 Views
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. Getting Started. Download Source Code
E N D
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
Getting Started • Download Source Code • http://www.pjsip.org/release/1.5/pjproject-1.5.tar.bz2 // newest version is 1.5 • Install (Linux) • # tar [-z] –vxf pjproject-1.5.tar.bz2 • # cd pjproject-1.5 • # ./configure • # make • # make install (need superuser privilege) IPv6 support must be enabled during build process by declaring “ #define PJ_HAS_IPV6 1” in your config_site.h (/pjlib/include/pj/config_site.h)
PJSUA – RUN • # cd /pjproject-1.5/pjsip-apps/bin/ • # ./pjsua [option] [SIP URL to call]
PJSUA – Options • General Options: • --help, show the command line help • --version, display version • Account Options: • --id=URL, ex: --id sip:linear@test.com • --registrar=URL, ex: --registrar sip:test.com • Authentication Options: • --username=STRING, ex: --username linear • --password=STRING,ex: --password secret
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
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
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
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
Demo – IPv4 <SIP server> 10.10.59.91 IPv4 SIP signaling IPv4 SIP signaling UA1(PJSUA) UA2(X-Lite) IPv4 RTP transmitting
Demo – IPv6 <SIP server> 2001:e10:6840:21:21e:90ff:fe18:4cc IPv6 SIP signaling IPv6 SIP signaling UA1(PJSUA) UA2(PJSUA) IPv6 RTP transmitting 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/page_pjmedia_samples.htm - PJMEDIA and PJMEDIA-CODEC Examples