SOLVED - Ubuntu 13.10 64-bit - Pjsip 2.1 from source build is working after this patch.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



it WORKS! now.

Remarks: By default it does not work when you build from source 2.1 +
temporary our sip-tools also have same issue if you install it from
package.

Solution: To workout/fix it follow this steps:

Step 1: install FreeSwitch (sip server for test simulation)

$ sudo yum install git autoconf automake libtool ncurses-devel libjpeg-devel
$ sudo yum install expat-devel openssl-devel libtiff-devel libX11-devel
unixODBC-devel libssl-devel python-devel \
                 zlib-devel libzrtpcpp-devel alsa-lib-devel libogg-devel
libvorbis-devel perl-libs gdbm-devel \
                 libdb-devel uuid-devel @development-tools

$ git clone git://git.freeswitch.org/freeswitch.git
$ ./bootstrap.sh
$ ./configure
$ make
$ make install
$ make all install cd-sounds-install cd-moh-install
$ /usr/local/freeswitch/bin/freeswitch

A) use Bria or webRTC sip phone to anything that already works as sip
client to verify/test if the username 1000 and password 1234 is working

B) make sure with other sip tools your sip server is registering and you
can hear audio IVR


Step 2: install Pjsip 2.1 (action)

$ cd /var/tmp
$ wget http://www.pjsip.org/release/2.1/pjproject-2.1.tar.bz2
$ tar xvfj pjproject-2.1.tar.bz2
$ cd pjproject-2.1
$ ./configure
$ make dep && make && make install

A) This wont give you audio playback and audio capture so do this fix


Step 3: make those changes as below shown.
to fix audio problem to ALSA instead of PortAudio driver (which was the
problem)

$ cat /var/tmp/pjproject-2.1.0/pjlib/include/pj/config_site.h
#define PJMEDIA_AUDIO_DEV_HAS_ALSA 1
//this following line is for Windows Mobile, i do not need it because i am
in 32/64-bit desktop
//#include <pj/config_site_sample.h>

$ cat /var/tmp/pjproject-2.1.0/pjmedia/build/os-linux.mak
# Linux

# Define the desired sound device backend
# Valid values are:
#   - pa_unix:     PortAudio on Unix (OSS or ALSA)
#   - pa_darwinos:   PortAudio on MacOSX (CoreAudio)
#   - pa_old_darwinos:  PortAudio on MacOSX (old CoreAudio, for OSX 10.2)
#   - pa_win32:     PortAudio on Win32 (WMME)
#   - ds:     Win32 DirectSound (dsound.c)
#   - null:     Null sound device (nullsound.c)
AC_PJMEDIA_SND=alsa

# leave all the rest as it is, only change that AC_PJMEDIA_SND from pa_unix
to alsa



Step 4:

$ cd /var/tmp/pjproject-2.1.0
$ ./configure && make dep && make && make install


Step 5: eat the cake

$ /var/tmp/pjproject-2.1.0/pjsip-apps/bin/pjsua-x86_64-unknown-linux-gnu

follow this to place a call and have fun: http://paste.ubuntu.com/6518780/






10:25:52.339 os_core_unix.c !pjlib 2.1 for POSIX initialized
10:25:52.339 sip_endpoint.c  .Creating endpoint instance...
10:25:52.339          pjlib  .select() I/O Queue created (0x95b8a0)
10:25:52.339 sip_endpoint.c  .Module "mod-msg-print" registered
10:25:52.339 sip_transport.  .Transport manager created.
10:25:52.339   pjsua_core.c  .PJSUA state changed: NULL --> CREATED
10:25:52.340 sip_endpoint.c  .Module "mod-pjsua-log" registered
10:25:52.340 sip_endpoint.c  .Module "mod-tsx-layer" registered
10:25:52.340 sip_endpoint.c  .Module "mod-stateful-util" registered
10:25:52.340 sip_endpoint.c  .Module "mod-ua" registered
10:25:52.340 sip_endpoint.c  .Module "mod-100rel" registered
10:25:52.340 sip_endpoint.c  .Module "mod-pjsua" registered
10:25:52.340 sip_endpoint.c  .Module "mod-invite" registered
10:25:52.382     alsa_dev.c  ..ALSA driver found 16 devices
10:25:52.383     alsa_dev.c  ..ALSA initialized
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
bt_audio_service_open: connect() failed: Connection refused (111)
10:25:52.446       pa_dev.c  ..PortAudio sound library initialized, status=0
10:25:52.446       pa_dev.c  ..PortAudio host api count=2
10:25:52.446       pa_dev.c  ..Sound device count=19
10:25:52.446          pjlib  ..select() I/O Queue created (0x9d2c68)
10:25:52.454 sip_endpoint.c  .Module "mod-evsub" registered
10:25:52.454 sip_endpoint.c  .Module "mod-presence" registered
10:25:52.454 sip_endpoint.c  .Module "mod-mwi" registered
10:25:52.454 sip_endpoint.c  .Module "mod-refer" registered
10:25:52.454 sip_endpoint.c  .Module "mod-pjsua-pres" registered
10:25:52.454 sip_endpoint.c  .Module "mod-pjsua-im" registered
10:25:52.454 sip_endpoint.c  .Module "mod-pjsua-options" registered
10:25:52.455   pjsua_core.c  .1 SIP worker threads created
10:25:52.455   pjsua_core.c  .pjsua version 2.1 for
Linux-3.11.0.12/x86_64/glibc-2.17 initialized
10:25:52.455   pjsua_core.c  .PJSUA state changed: CREATED --> INIT
10:25:52.455 sip_endpoint.c  Module "mod-default-handler" registered
10:25:52.455   pjsua_core.c  SIP UDP socket reachable at 192.168.1.19:5060
10:25:52.455    udp0x9b0450  SIP UDP transport started, published address
is 192.168.1.19:5060
10:25:52.455    pjsua_acc.c  Adding account: id=<sip:192.168.1.19:5060>
10:25:52.455    pjsua_acc.c  .Account <sip:192.168.1.19:5060> added with id
0
10:25:52.455    pjsua_acc.c  Acc 0: setting online status to 1..
10:25:52.455    tcplis:5060  SIP TCP listener ready for incoming
connections at 192.168.1.19:5060
10:25:52.455    pjsua_acc.c  Adding account: id=<sip:192.168.1.19:5060
;transport=TCP>
10:25:52.455    pjsua_acc.c  .Account <sip:192.168.1.19:5060;transport=TCP>
added with id 1
10:25:52.455    pjsua_acc.c  Acc 1: setting online status to 1..
10:25:52.455   pjsua_core.c  PJSUA state changed: INIT --> STARTING
10:25:52.455 sip_endpoint.c  .Module "mod-unsolicited-mwi" registered
10:25:52.455   pjsua_core.c  .PJSUA state changed: STARTING --> RUNNING
>>>>
Account list:
  [ 0] <sip:192.168.1.19:5060>: does not register
       Online status: Online
 *[ 1] <sip:192.168.1.19: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
>>> +a
Your SIP URL: (empty to cancel): sip:1shamun at 192.168.1.12
URL of the registrar: (empty to cancel): sip:192.168.1.12
Auth Realm: (empty to cancel): *
Auth Username: (empty to cancel): 1shamun
Auth Password: (empty to cancel): admin2013
10:26:34.804    pjsua_acc.c  Adding account: id=sip:1shamun at 192.168.1.12
10:26:34.805    pjsua_acc.c  .Account sip:1shamun at 192.168.1.12 added with
id 2
10:26:34.805    pjsua_acc.c  .Acc 2: setting registration..
10:26:34.805   pjsua_core.c  ...TX 549 bytes Request msg
REGISTER/cseq=61881 (tdta0x9b62e0) to UDP 192.168.1.12:5060:
REGISTER sip:192.168.1.12 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjlkenSNEG8TnMI6f8HphjRH-POIzPaEOu
Max-Forwards: 70
From: <sip:1shamun@192.168.1.12>;tag=YvjITguv-c05VT86yXNb6UQVk-XlieAH
To: <sip:1shamun at 192.168.1.12>
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61881 REGISTER
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Contact: <sip:1shamun at 192.168.1.19:5060;ob>
Expires: 300
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY,
REFER, MESSAGE, OPTIONS
Content-Length:  0


--end msg--
10:26:34.805    pjsua_acc.c  ..Acc 2: Registration sent
>>> 10:26:34.807   pjsua_core.c  .RX 680 bytes Response msg
401/REGISTER/cseq=61881 (rdata0x9b1ab8) from UDP 192.168.1.12:5060:
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjlkenSNEG8TnMI6f8HphjRH-POIzPaEOu
From: <sip:1shamun@192.168.1.12>;tag=YvjITguv-c05VT86yXNb6UQVk-XlieAH
To: <sip:1shamun at 192.168.1.12>;tag=8U0B3jFUcQjZS
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61881 REGISTER
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
WWW-Authenticate: Digest realm="192.168.1.12",
nonce="fb290164-5cd9-11e3-a4b8-3586b66a1730", algorithm=MD5, qop="auth"
Content-Length: 0


--end msg--
10:26:34.807   pjsua_core.c  ....TX 809 bytes Request msg
REGISTER/cseq=61882 (tdta0x9b62e0) to UDP 192.168.1.12:5060:
REGISTER sip:192.168.1.12 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjcPq6l5sXk0r3XxOv08Irwq.aFJ51YZW7
Max-Forwards: 70
From: <sip:1shamun@192.168.1.12>;tag=YvjITguv-c05VT86yXNb6UQVk-XlieAH
To: <sip:1shamun at 192.168.1.12>
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61882 REGISTER
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Contact: <sip:1shamun at 192.168.1.19:5060;ob>
Expires: 300
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY,
REFER, MESSAGE, OPTIONS
Authorization: Digest username="1shamun", realm="192.168.1.12",
nonce="fb290164-5cd9-11e3-a4b8-3586b66a1730", uri="sip:192.168.1.12",
response="e11985e6271b3b88e3c94dfd11672df6", algorithm=MD5,
cnonce="FjVwPDrg7SatsNbTVFHg6ttEtXeUhzY1", qop=auth, nc=00000001
Content-Length:  0


--end msg--
10:26:34.809   pjsua_core.c  .RX 644 bytes Response msg
200/REGISTER/cseq=61882 (rdata0x7fde0c002998) from UDP 192.168.1.12:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjcPq6l5sXk0r3XxOv08Irwq.aFJ51YZW7
From: <sip:1shamun@192.168.1.12>;tag=YvjITguv-c05VT86yXNb6UQVk-XlieAH
To: <sip:1shamun at 192.168.1.12>;tag=94S44D0y9Z8HN
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61882 REGISTER
Contact: <sip:1shamun at 192.168.1.19:5060;ob>;expires=300
Date: Wed, 04 Dec 2013 11:48:24 GMT
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
Content-Length: 0


--end msg--
10:26:34.809    pjsua_acc.c  ....SIP outbound status for acc 2 is not active
10:26:34.809    pjsua_acc.c  ....sip:1shamun at 192.168.1.12: registration
success, status=200 (OK), will re-register in 300 seconds
10:26:34.809    pjsua_acc.c  ....Keep-alive timer started for acc 2,
destination:192.168.1.12:5060, interval:15s
10:26:34.878   pjsua_core.c  .RX 945 bytes Request msg NOTIFY/cseq=52742788
(rdata0x7fde0c002998) from UDP 192.168.1.12:5060:
NOTIFY sip:1shamun at 192.168.1.19:5060;ob SIP/2.0
Via: SIP/2.0/UDP 192.168.1.12;rport;branch=z9hG4bKSNaNHc9Z36eND
Max-Forwards: 70
From: <sip:1shamun@192.168.1.12>;tag=aeKX68g268y4g
To: <sip:1shamun at 192.168.1.12>
Call-ID: d2923b4a-d77c-1231-f2ab-782bcb36fe3d
CSeq: 52742788 NOTIFY
Contact: <sip:mod_sofia at 192.168.1.12:5060>
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
Event: message-summary
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog,
line-seize, call-info, sla, include-session-description, presence.winfo,
message-summary, refer
Subscription-State: terminated;reason=noresource
Content-Type: application/simple-message-summary
Content-Length: 67

Messages-Waiting: no
Message-Account: sip:1shamun at 192.168.1.12


--end msg--
10:26:34.878   pjsua_pres.c  .Got unsolicited NOTIFY from 192.168.1.12:5060
..
10:26:34.878   pjsua_core.c  ...TX 309 bytes Response msg
200/NOTIFY/cseq=52742788 (tdta0x7fde0c0048c0) to UDP 192.168.1.12:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP
192.168.1.12;rport=5060;received=192.168.1.12;branch=z9hG4bKSNaNHc9Z36eND
Call-ID: d2923b4a-d77c-1231-f2ab-782bcb36fe3d
From: <sip:1shamun@192.168.1.12>;tag=aeKX68g268y4g
To: <sip:1shamun at 192.168.1.12>;tag=z9hG4bKSNaNHc9Z36eND
CSeq: 52742788 NOTIFY
Content-Length:  0


--end msg--
10:26:34.878    pjsua_app.c  ..Received MWI for acc 2:
10:26:34.878    pjsua_app.c  .. Content-Type:
application/simple-message-summary
10:26:34.878    pjsua_app.c  .. Body:
Messages-Waiting: no
Message-Account: sip:1shamun at 192.168.1.12



>>>>
Account list:
  [ 0] <sip:192.168.1.19:5060>: does not register
       Online status: Online
  [ 1] <sip:192.168.1.19:5060;transport=TCP>: does not register
       Online status: Online
 *[ 2] sip:1shamun at 192.168.1.12: 200/OK (expires=292)
       Online status: Offline
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
>>> m
(You currently have 0 calls)
Buddy list:
 -none-

Choices:
   0         For current dialog.
  -1         All 0 buddies in buddy list
  [1 - 0]    Select from buddy list
  URL        An URL
  <Enter>    Empty input (or 'q') to cancel
Make call: sip:9198 at 192.168.1.12
10:26:50.421   pjsua_call.c !Making call with acc #2 to
sip:9198 at 192.168.1.12
10:26:50.421    pjsua_aud.c  .Set sound device: capture=-1, playback=-2
10:26:50.421    pjsua_app.c  ..Turning sound device ON
10:26:50.421    pjsua_aud.c  ..Opening sound device PCM at 16000/1/20ms
10:26:50.445     ec0x9e4110  ...AEC created, clock_rate=16000, channel=1,
samples per frame=320, tail length=200 ms, latency=100 ms
10:26:50.445  pjsua_media.c  .Call 0: initializing media..
10:26:50.445  pjsua_media.c  ..RTP socket reachable at 192.168.1.19:4000
10:26:50.445  pjsua_media.c  ..RTCP socket reachable at 192.168.1.19:4001
10:26:50.445  pjsua_media.c  ..Media index 0 selected for audio call 0
10:26:50.446   pjsua_core.c  ....TX 1118 bytes Request msg INVITE/cseq=4733
(tdta0xa196b0) to UDP 192.168.1.12:5060:
INVITE sip:9198 at 192.168.1.12 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjpZh6Vi7ii8i0ss9iNEicu4g2zGUl5H87
Max-Forwards: 70
From: sip:1shamun@192.168.1.12;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: sip:9198 at 192.168.1.12
Contact: <sip:1shamun at 192.168.1.19:5060;ob>
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4733 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY,
REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Content-Type: application/sdp
Content-Length:   473

v=0
o=- 3595138010 3595138010 IN IP4 192.168.1.19
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4000 RTP/AVP 98 97 99 104 3 0 8 9 96
c=IN IP4 192.168.1.19
b=TIAS:64000
a=rtcp:4001 IN IP4 192.168.1.19
a=sendrecv
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:99 speex/32000
a=rtpmap:104 iLBC/8000
a=fmtp:104 mode=30
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-15

--end msg--
10:26:50.446    pjsua_app.c  .......Call 0 state changed to CALLING
>>> 10:26:50.447   pjsua_core.c  .RX 372 bytes Response msg
100/INVITE/cseq=4733 (rdata0x7fde0c002998) from UDP 192.168.1.12:5060:
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjpZh6Vi7ii8i0ss9iNEicu4g2zGUl5H87
From: <sip:1shamun@192.168.1.12>;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: <sip:9198 at 192.168.1.12>
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4733 INVITE
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Content-Length: 0


--end msg--
10:26:50.468   pjsua_core.c  .RX 889 bytes Response msg
407/INVITE/cseq=4733 (rdata0x7fde0c002998) from UDP 192.168.1.12:5060:
SIP/2.0 407 Proxy Authentication Required
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjpZh6Vi7ii8i0ss9iNEicu4g2zGUl5H87
From: <sip:1shamun@192.168.1.12>;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: <sip:9198 at 192.168.1.12>;tag=BQcp83153HNQc
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4733 INVITE
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog,
line-seize, call-info, sla, include-session-description, presence.winfo,
message-summary, refer
Proxy-Authenticate: Digest realm="192.168.1.12",
nonce="047ebee8-5cda-11e3-a4ba-3586b66a1730", algorithm=MD5, qop="auth"
Content-Length: 0


--end msg--
10:26:50.468   pjsua_core.c  ..TX 339 bytes Request msg ACK/cseq=4733
(tdta0x7fde0c007820) to UDP 192.168.1.12:5060:
ACK sip:9198 at 192.168.1.12 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjpZh6Vi7ii8i0ss9iNEicu4g2zGUl5H87
Max-Forwards: 70
From: sip:1shamun@192.168.1.12;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: sip:9198 at 192.168.1.12;tag=BQcp83153HNQc
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4733 ACK
Content-Length:  0


--end msg--
10:26:50.468 tcpc0x7fde0c00  .......TCP client transport created
10:26:50.468 tcpc0x7fde0c00  .......TCP transport 192.168.1.19:56773 is
connecting to 192.168.1.12:5060...
10:26:50.468   pjsua_core.c  .......TX 1390 bytes Request msg
INVITE/cseq=4734 (tdta0xa196b0) to TCP 192.168.1.12:5060:
INVITE sip:9198 at 192.168.1.12 SIP/2.0
Via: SIP/2.0/TCP 192.168.1.19:56773
;rport;branch=z9hG4bKPjTBJaCQaIxWhH.yGXAXr0TVjyZbN0CWU9
Max-Forwards: 70
From: sip:1shamun@192.168.1.12;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: sip:9198 at 192.168.1.12
Contact: <sip:1shamun at 192.168.1.19:5060;ob>
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4734 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY,
REFER, MESSAGE, OPTIONS
Supported: replaces, 100rel, timer, norefersub
Session-Expires: 1800
Min-SE: 90
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Proxy-Authorization: Digest username="1shamun", realm="192.168.1.12",
nonce="047ebee8-5cda-11e3-a4ba-3586b66a1730", uri="sip:9198 at 192.168.1.12",
response="ec96f0715b9a8d27c5d907816568ca0e", algorithm=MD5,
cnonce="d426wCIf5LnU6S1DArLg0KjYRtUdkhoJ", qop=auth, nc=00000001
Content-Type: application/sdp
Content-Length:   473

v=0
o=- 3595138010 3595138010 IN IP4 192.168.1.19
s=pjmedia
b=AS:84
t=0 0
a=X-nat:0
m=audio 4000 RTP/AVP 98 97 99 104 3 0 8 9 96
c=IN IP4 192.168.1.19
b=TIAS:64000
a=rtcp:4001 IN IP4 192.168.1.19
a=sendrecv
a=rtpmap:98 speex/16000
a=rtpmap:97 speex/8000
a=rtpmap:99 speex/32000
a=rtpmap:104 iLBC/8000
a=fmtp:104 mode=30
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-15

--end msg--
10:26:50.469 tcpc0x7fde0c00  TCP transport 192.168.1.19:56773 is connected
to 192.168.1.12:5060
10:26:50.469    pjsua_app.c  SIP TCP transport is connected to [
192.168.1.12:5060]
10:26:50.469   pjsua_core.c  .RX 374 bytes Response msg
100/INVITE/cseq=4734 (rdata0x7fde0c00aa98) from TCP 192.168.1.12:5060:
SIP/2.0 100 Trying
Via: SIP/2.0/TCP 192.168.1.19:56773
;rport=56773;branch=z9hG4bKPjTBJaCQaIxWhH.yGXAXr0TVjyZbN0CWU9
From: <sip:1shamun@192.168.1.12>;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: <sip:9198 at 192.168.1.12>
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4734 INVITE
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Content-Length: 0


--end msg--
10:26:50.494   pjsua_core.c  .RX 1252 bytes Response msg
200/INVITE/cseq=4734 (rdata0x7fde0c00aa98) from TCP 192.168.1.12:5060:
SIP/2.0 200 OK
Via: SIP/2.0/TCP 192.168.1.19:56773
;rport=56773;branch=z9hG4bKPjTBJaCQaIxWhH.yGXAXr0TVjyZbN0CWU9
From: <sip:1shamun@192.168.1.12>;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: <sip:9198 at 192.168.1.12>;tag=c05eaZj90tBar
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4734 INVITE
Contact: <sip:9198 at 192.168.1.12:5060;transport=udp>
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Accept: application/sdp
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Require: timer
Supported: timer, precondition, path, replaces
Allow-Events: talk, hold, conference, presence, as-feature-event, dialog,
line-seize, call-info, sla, include-session-description, presence.winfo,
message-summary, refer
Session-Expires: 1800;refresher=uac
Min-SE: 120
Content-Type: application/sdp
Content-Disposition: session
Content-Length: 243
Remote-Party-ID: "9198" <sip:9198 at 192.168.1.12
>;party=calling;privacy=off;screen=no

v=0
o=FreeSWITCH 1386129693 1386129694 IN IP4 192.168.1.12
s=FreeSWITCH
c=IN IP4 192.168.1.12
t=0 0
m=audio 28026 RTP/AVP 3 96
a=rtpmap:3 GSM/8000
a=rtpmap:96 telephone-event/8000
a=fmtp:96 0-16
a=silenceSupp:off - - - -
a=ptime:20

--end msg--
10:26:50.494    pjsua_app.c  .....Call 0 state changed to CONNECTING
10:26:50.494  pjsua_media.c  .....Call 0: updating media..
10:26:50.494    pjsua_aud.c  ......Audio channel update..
10:26:50.494 strm0x7fde0c00  .......VAD temporarily disabled
10:26:50.494 strm0x7fde0c00  .......Encoder stream started
10:26:50.494 strm0x7fde0c00  .......Decoder stream started
10:26:50.494  pjsua_media.c  ......Audio updated, stream #0: GSM (sendrecv)
10:26:50.494    pjsua_app.c  .....Call 0 media 0 [type=audio], status is
Active
10:26:50.494    pjsua_aud.c  .....Conf connect: 3 --> 0
10:26:50.495   conference.c  ......Port 3 (sip:9198 at 192.168.1.12)
transmitting to port 0 (default)
10:26:50.495    pjsua_aud.c  .....Conf connect: 0 --> 3
10:26:50.495   conference.c  ......Port 0 (default) transmitting to port 3 (
sip:9198 at 192.168.1.12)
10:26:50.495   pjsua_core.c  .....TX 358 bytes Request msg ACK/cseq=4734
(tdta0x7fde0c012fa0) to UDP 192.168.1.12:5060:
ACK sip:9198 at 192.168.1.12:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPj3KZp-pacRr499c-X9FrnRAL5w.TapRe2
Max-Forwards: 70
From: sip:1shamun@192.168.1.12;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: sip:9198 at 192.168.1.12;tag=c05eaZj90tBar
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4734 ACK
Content-Length:  0


--end msg--
10:26:50.495    pjsua_app.c  .....Call 0 state changed to CONFIRMED
10:26:50.510   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
10:26:50.906   Master/sound  Underflow, buf_cnt=0, will generate 1 frame
10:26:51.124 strm0x7fde0c00  VAD re-enabled

>>>>
Account list:
  [ 0] <sip:192.168.1.19:5060>: does not register
       Online status: Online
  [ 1] <sip:192.168.1.19:5060;transport=TCP>: does not register
       Online status: Online
 *[ 2] sip:1shamun at 192.168.1.12: 200/OK (expires=276)
       Online status: Offline
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 1 active call
Current call id=0 to sip:9198 at 192.168.1.12 [CONFIRMED]
>>> q
10:26:55.939   pjsua_core.c !Shutting down, flags=0...
10:26:55.939   pjsua_core.c  PJSUA state changed: RUNNING --> CLOSING
10:26:55.944   pjsua_call.c  .Hangup all calls..
10:26:55.944   pjsua_call.c  ..Call 0 hanging up: code=0..
10:26:55.945   pjsua_core.c  ......TX 416 bytes Request msg BYE/cseq=4735
(tdta0x9ae0e0) to UDP 192.168.1.12:5060:
BYE sip:9198 at 192.168.1.12:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjkH-C6QzNlNQIkEF9DnpoDI7gIly9LIjS
Max-Forwards: 70
From: sip:1shamun@192.168.1.12;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: sip:9198 at 192.168.1.12;tag=c05eaZj90tBar
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4735 BYE
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Content-Length:  0


--end msg--
10:26:55.945   pjsua_pres.c  .Shutting down presence..
10:26:55.945  pjsua_media.c  .Shutting down media..
10:26:55.945    pjsua_app.c  ...Turning sound device OFF
10:26:55.945    pjsua_aud.c  ...Closing default sound playback device and
default sound capture device
10:26:56.113  pjsua_media.c  ..Call 0: deinitializing media..
10:26:56.113  pjsua_media.c  ....Media stream call00:0 is destroyed
10:26:56.113  pjsua_media.c  ..Call 1: deinitializing media..
10:26:56.113  pjsua_media.c  ..Call 2: deinitializing media..
10:26:56.113  pjsua_media.c  ..Call 3: deinitializing media..
10:26:56.445       pa_dev.c  ..PortAudio sound library shutting down..
10:26:56.445    pjsua_acc.c  .Acc 2: setting unregistration..
10:26:56.445   pjsua_core.c  ...TX 449 bytes Request msg
REGISTER/cseq=61883 (tdta0x99d690) to UDP 192.168.1.12:5060:
REGISTER sip:192.168.1.12 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjOB8d1guTBEcZ9.KkvTrfgrZWta.vWdPZ
Max-Forwards: 70
From: <sip:1shamun@192.168.1.12>;tag=GgYXSp6rmQgQHu4tn-lNqSbd00BD1een
To: <sip:1shamun at 192.168.1.12>
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61883 REGISTER
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Contact: <sip:1shamun at 192.168.1.19:5060;ob>
Expires: 0
Content-Length:  0


--end msg--
10:26:56.445    pjsua_acc.c  ..Acc 2: Unregistration sent
10:26:56.445   pjsua_core.c  ..TX 416 bytes Request msg BYE/cseq=4735
(tdta0x9ae0e0) to UDP 192.168.1.12:5060:
BYE sip:9198 at 192.168.1.12:5060;transport=udp SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjkH-C6QzNlNQIkEF9DnpoDI7gIly9LIjS
Max-Forwards: 70
From: sip:1shamun@192.168.1.12;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: sip:9198 at 192.168.1.12;tag=c05eaZj90tBar
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4735 BYE
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Content-Length:  0


--end msg--
10:26:56.445   pjsua_core.c  ..RX 541 bytes Response msg 200/BYE/cseq=4735
(rdata0x7fde0c002998) from UDP 192.168.1.12:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjkH-C6QzNlNQIkEF9DnpoDI7gIly9LIjS
From: <sip:1shamun@192.168.1.12>;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: <sip:9198 at 192.168.1.12>;tag=c05eaZj90tBar
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4735 BYE
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
Content-Length: 0


--end msg--
10:26:56.445    pjsua_app.c  ......Call 0 is DISCONNECTED [reason=200
(Normal call clearing)]
10:26:56.445    pjsua_app.c  ......
  [DISCONNCTD] To: sip:9198 at 192.168.1.12;tag=c05eaZj90tBar
    Call time: 00h:00m:05s, 1st res in 49 ms, conn in 50ms
    #0 audio deactivated
10:26:56.445  pjsua_media.c  ......Call 0: deinitializing media..
10:26:56.445  pjsua_media.c  ........Media stream call00:0 is destroyed
10:26:56.446   pjsua_core.c  ..RX 541 bytes Response msg 200/BYE/cseq=4735
(rdata0xa1ce58) from UDP 192.168.1.12:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjkH-C6QzNlNQIkEF9DnpoDI7gIly9LIjS
From: <sip:1shamun@192.168.1.12>;tag=O1T.EQ56ts0cmygAHKTzcRyszBmnX-3L
To: <sip:9198 at 192.168.1.12>;tag=c05eaZj90tBar
Call-ID: 4-78f5GPGyoMTG6uzlfELcBF7vYPNu0P
CSeq: 4735 BYE
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
Content-Length: 0


--end msg--
10:26:56.446   pjsua_core.c  ..RX 680 bytes Response msg
401/REGISTER/cseq=61883 (rdata0xa1ce58) from UDP 192.168.1.12:5060:
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjOB8d1guTBEcZ9.KkvTrfgrZWta.vWdPZ
From: <sip:1shamun@192.168.1.12>;tag=GgYXSp6rmQgQHu4tn-lNqSbd00BD1een
To: <sip:1shamun at 192.168.1.12>;tag=D9y7Bt3cy31vK
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61883 REGISTER
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
WWW-Authenticate: Digest realm="192.168.1.12",
nonce="080efe06-5cda-11e3-a4c3-3586b66a1730", algorithm=MD5, qop="auth"
Content-Length: 0


--end msg--
10:26:56.446   pjsua_core.c  .....TX 709 bytes Request msg
REGISTER/cseq=61884 (tdta0x99d690) to UDP 192.168.1.12:5060:
REGISTER sip:192.168.1.12 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport;branch=z9hG4bKPjDxXDDVUPpMy9VwiWYn.yPM8iW8RImu8A
Max-Forwards: 70
From: <sip:1shamun@192.168.1.12>;tag=GgYXSp6rmQgQHu4tn-lNqSbd00BD1een
To: <sip:1shamun at 192.168.1.12>
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61884 REGISTER
User-Agent: PJSUA v2.1 Linux-3.11.0.12/x86_64/glibc-2.17
Contact: <sip:1shamun at 192.168.1.19:5060;ob>
Expires: 0
Authorization: Digest username="1shamun", realm="192.168.1.12",
nonce="080efe06-5cda-11e3-a4c3-3586b66a1730", uri="sip:192.168.1.12",
response="10f7cf097f2e14670d3aab4b30365f94", algorithm=MD5,
cnonce="FjVwPDrg7SatsNbTVFHg6ttEtXeUhzY1", qop=auth, nc=00000001
Content-Length:  0


--end msg--
10:26:56.448   pjsua_core.c  ..RX 587 bytes Response msg
200/REGISTER/cseq=61884 (rdata0xa1ce58) from UDP 192.168.1.12:5060:
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.19:5060
;rport=5060;branch=z9hG4bKPjDxXDDVUPpMy9VwiWYn.yPM8iW8RImu8A
From: <sip:1shamun@192.168.1.12>;tag=GgYXSp6rmQgQHu4tn-lNqSbd00BD1een
To: <sip:1shamun at 192.168.1.12>;tag=ejr0DNmgUcrFF
Call-ID: 2E62MoLQ8xXutAI664t1QCZRK3Ruhqe7
CSeq: 61884 REGISTER
Date: Wed, 04 Dec 2013 11:48:45 GMT
User-Agent: FreeSWITCH-mod_sofia/1.5.5b+git~20130823T195449Z~863e6cfa3f
Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER,
REFER, NOTIFY, PUBLISH, SUBSCRIBE
Supported: timer, precondition, path, replaces
Content-Length: 0


--end msg--
10:26:56.448    pjsua_acc.c  .....sip:1shamun at 192.168.1.12: unregistration
success
10:26:57.456   pjsua_core.c  .Destroying...
10:26:57.456 sip_transactio  .Stopping transaction layer module
10:26:57.456 sip_transactio  .Stopped transaction layer module
10:26:57.456 sip_endpoint.c  .Module "mod-default-handler" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-unsolicited-mwi" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-pjsua-options" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-pjsua-im" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-pjsua-pres" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-pjsua" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-stateful-util" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-refer" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-mwi" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-presence" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-evsub" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-invite" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-100rel" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-ua" unregistered
10:26:57.456 sip_transactio  .Transaction layer module destroyed
10:26:57.456 sip_endpoint.c  .Module "mod-tsx-layer" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-msg-print" unregistered
10:26:57.456 sip_endpoint.c  .Module "mod-pjsua-log" unregistered
10:26:57.457 tcpc0x7fde0c00  .TCP transport destroyed normally
10:26:57.457    tcplis:5060  .SIP TCP listener destroyed
10:26:57.457 sip_endpoint.c  .Endpoint 0x950b08 destroyed
10:26:57.457   pjsua_core.c  .PJSUA state changed: CLOSING --> NULL
10:26:57.457   pjsua_core.c  .PJSUA destroyed...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20131204/3e13dfb6/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux