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