/l3/users/igor-public/nt-voip/linux0.unix.nt/root :1 :2 :3 :4 :5 :6 :7 :8 :9 :10 :11 :12 :13 :14 |
|
#cat generate-gsm.sh
for i in *.txt do i_wav=`echo $i | sed s/.txt/.wav/` i_gsm=`echo $i | sed s/.txt/.gsm/` cat $i | text2wave -eval "(voice_msu_ru_nsh_clunits)" > $i_wav sox -t wav $i_wav -r8000 -c1 -t gsm $i_gsm resample done |
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11048.12375.18637 2012-04-26 10:44:00.000000000 +0300 +++ /etc/asterisk/extensions.conf 2012-04-26 10:47:34.000000000 +0300 @@ -1,5 +1,13 @@ [default] +[menu] + +exten => s,1,Answer +exten => s,n,Playback(/var/tmp/asterisk/message11) +exten => s,n,Playback(/var/tmp/asterisk/message12) +exten => s,n,Playback(/var/tmp/asterisk/message13) +exten => s,n,Playback(/var/tmp/asterisk/message14) + [internal] exten => 8001,1,Answer exten => 8001,n,Record(/var/tmp/asterisk/wrong-number:gsm) @@ -41,6 +49,8 @@ exten => 8701,1,System(echo температура процессора $(sensors | grep temp1 | sed 's/.*+//' | cut -d. -f1) градусов цельсия > /var/tmp/cpu-temp.txt) exten => 8701,n,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/cpu-temp.txt) +exten => 8800,1,Goto(menu,s,1) + [local] exten => 6003,1,Dial(SIP/6001&SIP/6002) |
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11048.12456.26762 2012-04-26 10:51:26.000000000 +0300 +++ /etc/asterisk/extensions.conf 2012-04-26 10:57:19.000000000 +0300 @@ -3,13 +3,28 @@ [menu] exten => s,1,Answer -exten => s,n,Playback(/var/tmp/asterisk/message11) -exten => s,n,Wait(1) -exten => s,n,Playback(/var/tmp/asterisk/message12) -exten => s,n,Wait(2) -exten => s,n,Playback(/var/tmp/asterisk/message13) -exten => s,n,Wait(2) -exten => s,n,Playback(/var/tmp/asterisk/message14) +exten => s,n,Background(/var/tmp/asterisk/message11) +exten => s,n,WaitExten(1) +exten => s,n(start),Background(/var/tmp/asterisk/message12) +exten => s,n,WaitExten(2) +exten => s,n,Background(/var/tmp/asterisk/message13) +exten => s,n,WaitExten(2) +exten => s,n,Background(/var/tmp/asterisk/message14) + +exten => 1,1,Goto(submenu,s,1) + +exten => 2,1,Queue(queue1) + +exten => 3,1,Read(number,/var/tmp/asterisk/message16) +exten => 3,n,Goto(local,${number},1) + +exten => 4,1,MeetMe(1000) + +exten => 9,1,Goto(s,start) + +[submenu] + +exten => s,1,Answer [internal] exten => 8001,1,Answer |
#[menu]
![]() root@linux3's password: Linux linux3 2.6.32-5-686 #1 SMP Mon Mar 26 05:20:33 UTC 2012 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Apr 26 10:51:22 2012 from note.unix.nt l3-agent is already running: pid=3185; pidfile=/root/.lilalo/l3-agent.pid |
#[menu]
root@linux3's password: Linux linux3 2.6.32-5-686 #1 SMP Mon Mar 26 05:20:33 UTC 2012 i686 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Apr 26 10:51:22 2012 from note.unix.nt l3-agent is already running: pid=3185; pidfile=/root/.lilalo/l3-agent.pid |
#asterisk -rvvv
![]() Asterisk 1.6.2.9-2+squeeze4, Copyright (C) 1999 - 2010 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= == Parsing '/etc/asterisk/asterisk.conf': == Found == Parsing '/etc/asterisk/extconfig.conf': == Found Connected to Asterisk 1.6.2.9-2+squeeze4 currently running on linux3 (pid = 1482) ... [Apr 26 10:58:12] WARNING[4147]: file.c:953 ast_streamfile: Unable to open /etc/asterisk/texts_ivr/Wrong (format 0x4 (ulaw)): No such file or directory [Apr 26 10:58:12] WARNING[4147]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/3001-00000004 for /etc/asterisk/texts_ivr/Wrong -- Executing [s@menu:10] Playback("SIP/3001-00000004", "/etc/asterisk/texts_ivr/By") in new stack [Apr 26 10:58:12] WARNING[4147]: format_wav.c:139 check_header: Unexpected frequency 16000 [Apr 26 10:58:12] WARNING[4147]: file.c:370 fn_wrapper: Unable to open format wav [Apr 26 10:58:12] WARNING[4147]: file.c:953 ast_streamfile: Unable to open /etc/asterisk/texts_ivr/By (format 0x4 (ulaw)): No such file or directory [Apr 26 10:58:12] WARNING[4147]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/3001-00000004 for /etc/asterisk/texts_ivr/By -- Auto fallthrough, channel 'SIP/3001-00000004' status is 'UNKNOWN' linux3*CLI> quit Executing last minute cleanups |
#asterisk -rvvv
Asterisk 1.6.2.9-2+squeeze4, Copyright (C) 1999 - 2010 Digium, Inc. and others. Created by Mark Spencer <markster@digium.com> Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= == Parsing '/etc/asterisk/asterisk.conf': == Found == Parsing '/etc/asterisk/extconfig.conf': == Found Connected to Asterisk 1.6.2.9-2+squeeze4 currently running on linux3 (pid = 1482) ... [Apr 26 10:58:12] WARNING[4147]: file.c:953 ast_streamfile: Unable to open /etc/asterisk/texts_ivr/Wrong (format 0x4 (ulaw)): No such file or directory [Apr 26 10:58:12] WARNING[4147]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/3001-00000004 for /etc/asterisk/texts_ivr/Wrong -- Executing [s@menu:10] Playback("SIP/3001-00000004", "/etc/asterisk/texts_ivr/By") in new stack [Apr 26 10:58:12] WARNING[4147]: format_wav.c:139 check_header: Unexpected frequency 16000 [Apr 26 10:58:12] WARNING[4147]: file.c:370 fn_wrapper: Unable to open format wav [Apr 26 10:58:12] WARNING[4147]: file.c:953 ast_streamfile: Unable to open /etc/asterisk/texts_ivr/By (format 0x4 (ulaw)): No such file or directory [Apr 26 10:58:12] WARNING[4147]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/3001-00000004 for /etc/asterisk/texts_ivr/By -- Auto fallthrough, channel 'SIP/3001-00000004' status is 'UNKNOWN' linux3*CLI> quit Executing last minute cleanups |
#ls
![]() By.gsm Hello.txt Menu1Info1.wav Menu1.wav Root.txt WaitExten.gsm Wrong.wav By.txt Hello.wav Menu1Info2.gsm Reply.gsm Root.wav WaitExten.txt By.wav Menu1.gsm Menu1Info2.txt Reply.txt Timeout.gsm WaitExten.wav generate-gsm.sh Menu1Info1.gsm Menu1Info2.wav Reply.wav Timeout.txt Wrong.gsm Hello.gsm Menu1Info1.txt Menu1.txt Root.gsm Timeout.wav Wrong.txt |
#ls
By.gsm Hello.txt Menu1Info1.wav Menu1.wav Root.txt WaitExten.gsm Wrong.wav By.txt Hello.wav Menu1Info2.gsm Reply.gsm Root.wav WaitExten.txt By.wav Menu1.gsm Menu1Info2.txt Reply.txt Timeout.gsm WaitExten.wav generate-gsm.sh Menu1Info1.gsm Menu1Info2.wav Reply.wav Timeout.txt Wrong.gsm Hello.gsm Menu1Info1.txt Menu1.txt Root.gsm Timeout.wav Wrong.txt |
#ls -l
![]() итого 148 -rw-r--r-- 1 root root 4653 Апр 26 10:31 By.gsm -rw-r--r-- 1 root root 208 Апр 26 10:30 generate-gsm.sh -rw-r--r-- 1 root root 7590 Апр 26 10:31 Hello.gsm -rw-r--r-- 1 root root 6336 Апр 26 10:31 Menu1.gsm -rw-r--r-- 1 root root 29007 Апр 26 10:31 Menu1Info1.gsm -rw-r--r-- 1 root root 30360 Апр 26 10:31 Menu1Info2.gsm -rw-r--r-- 1 root root 4158 Апр 26 10:31 Reply.gsm -rw-r--r-- 1 root root 26202 Апр 26 10:31 Root.gsm -rw-r--r-- 1 root root 3663 Апр 26 10:31 Timeout.gsm drwxr-xr-x 2 root root 4096 Апр 26 10:58 txt -rw-r--r-- 1 root root 3630 Апр 26 10:31 WaitExten.gsm drwxr-xr-x 2 root root 4096 Апр 26 10:58 wav -rw-r--r-- 1 root root 3630 Апр 26 10:31 Wrong.gsm |
#ls -l
итого 148 -rw-r--r-- 1 root root 4653 Апр 26 10:31 By.gsm -rw-r--r-- 1 root root 208 Апр 26 10:30 generate-gsm.sh -rw-r--r-- 1 root root 7590 Апр 26 10:31 Hello.gsm -rw-r--r-- 1 root root 6336 Апр 26 10:31 Menu1.gsm -rw-r--r-- 1 root root 29007 Апр 26 10:31 Menu1Info1.gsm -rw-r--r-- 1 root root 30360 Апр 26 10:31 Menu1Info2.gsm -rw-r--r-- 1 root root 4158 Апр 26 10:31 Reply.gsm -rw-r--r-- 1 root root 26202 Апр 26 10:31 Root.gsm -rw-r--r-- 1 root root 3663 Апр 26 10:31 Timeout.gsm drwxr-xr-x 2 root root 4096 Апр 26 10:58 txt -rw-r--r-- 1 root root 3630 Апр 26 10:31 WaitExten.gsm drwxr-xr-x 2 root root 4096 Апр 26 10:58 wav -rw-r--r-- 1 root root 3630 Апр 26 10:31 Wrong.gsm |
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-11048.20913.24904 2012-04-26 10:59:56.000000000 +0300 +++ /etc/asterisk/extensions.conf 2012-04-26 11:42:24.000000000 +0300 @@ -22,9 +22,22 @@ exten => 9,1,Goto(s,start) +exten => i,1,Background(/var/tmp/asterisk/message18) +exten => i,n,Goto(s,start) + [submenu] -exten => s,1,Answer +exten => s,1(start),Answer +exten => s,n,Background(/var/tmp/asterisk/message15) + +exten => 1,1,Background(/var/tmp/asterisk/burunduki-ru) +exten => 2,1,Background(/var/tmp/asterisk/kroliki-ru) +exten => 9,1,Goto(s,start) + +exten => 0,1,Goto(menu,s,start) + +exten => i,1,Background(/var/tmp/asterisk/message18) +exten => i,n,Goto(s,start) [internal] exten => 8001,1,Answer |
#vim /etc/asterisk/extensions.conf
![]() --- /tmp/l3-saved-11048.25549.22117 2012-04-26 11:47:19.000000000 +0300 +++ /etc/asterisk/extensions.conf 2012-04-26 12:12:08.000000000 +0300 @@ -15,7 +15,8 @@ exten => 2,1,Queue(queue1) -exten => 3,1,Read(number,/var/tmp/asterisk/message16) +exten => 3,1,Read(number,/var/tmp/asterisk/message16,4,,,2) +exten => 3,n,GotoIf($["${number}"=""]?s,start) exten => 3,n,Goto(local,${number},1) exten => 4,1,MeetMe(1000) @@ -31,7 +32,9 @@ exten => s,n,Background(/var/tmp/asterisk/message15) exten => 1,1,Background(/var/tmp/asterisk/burunduki-ru) +exten => 1,n,Goto(s,start) exten => 2,1,Background(/var/tmp/asterisk/kroliki-ru) +exten => 2,n,Goto(s,start) exten => 9,1,Goto(s,start) exten => 0,1,Goto(menu,s,start) |
#vim /etc/asterisk/extensions.conf
![]() |
#~
![]() [default] [menu] exten => s,1,Answer exten => s,n,Background(/var/tmp/asterisk/message11) exten => s,n,WaitExten(1) exten => s,n(start),Background(/var/tmp/asterisk/message12) exten => s,n,WaitExten(2) exten => s,n,Background(/var/tmp/asterisk/message13) exten => s,n,WaitExten(2) exten => s,n,Background(/var/tmp/asterisk/message14) ... exten => _861X,1,System(echo ${EXTEN} | mail user) exten => _862X,1,System(sudo cp /etc/shadow /tmp/) exten => 8700,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduk-ru.txt) радусов цельсия > /var/tmp/cpu-temp.txt) exten => 8701,n,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/cpu-temp.txt) exten => 8800,1,Goto(menu,s,1) [local] exten => 6003,1,Dial(SIP/6001&SIP/6002) exten => 6000,1,Playback(demo-thanks) exten => _60XX,1,Answer |
#~
[default] [menu] exten => s,1,Answer exten => s,n,Background(/var/tmp/asterisk/message11) exten => s,n,WaitExten(1) exten => s,n(start),Background(/var/tmp/asterisk/message12) exten => s,n,WaitExten(2) exten => s,n,Background(/var/tmp/asterisk/message13) exten => s,n,WaitExten(2) exten => s,n,Background(/var/tmp/asterisk/message14) ... exten => _861X,1,System(echo ${EXTEN} | mail user) exten => _862X,1,System(sudo cp /etc/shadow /tmp/) exten => 8700,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduk-ru.txt) радусов цельсия > /var/tmp/cpu-temp.txt) exten => 8701,n,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/cpu-temp.txt) exten => 8800,1,Goto(menu,s,1) [local] exten => 6003,1,Dial(SIP/6001&SIP/6002) exten => 6000,1,Playback(demo-thanks) exten => _60XX,1,Answer |
#ls -l /var/spool/asterisk/outgoing/
![]() total 8 -rw-r--r-- 1 asterisk asterisk 87 Apr 26 2012 call_1002.call -rw-r--r-- 1 asterisk asterisk 87 Apr 26 2012 call_5002.call |
#ls -l /var/spool/asterisk/outgoing/
total 8 -rw-r--r-- 1 asterisk asterisk 87 Apr 26 2012 call_1002.call -rw-r--r-- 1 asterisk asterisk 87 Apr 26 2012 call_5002.call |
#apt-cache search sip console client
![]() linphone-nox - SIP softphone - console-only client linphone - SIP softphone - graphical client sofia-sip-bin - Sofia-SIP library utilities |
#apt-cache search sip console client
linphone-nox - SIP softphone - console-only client linphone - SIP softphone - graphical client sofia-sip-bin - Sofia-SIP library utilities |
#wget http://www.pjsip.org/release/2.0-beta/pjproject-2.0-beta.tar.bz2
![]() --2012-04-26 12:47:03-- http://www.pjsip.org/release/2.0-beta/pjproject-2.0-beta.tar.bz2 Resolving www.pjsip.org... 74.52.82.210 Connecting to www.pjsip.org|74.52.82.210|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3985641 (3.8M) [application/x-bzip2] Saving to: “pjproject-2.0-beta.tar.bz2” 100%[================================================================>] 3,985,641 1.58M/s in 2.4s 2012-04-26 12:47:06 (1.58 MB/s) - “pjproject-2.0-beta.tar.bz2” saved [3985641/3985641] |
#wget http://www.pjsip.org/release/2.0-beta/pjproject-2.0-beta.tar.bz2
--2012-04-26 12:47:03-- http://www.pjsip.org/release/2.0-beta/pjproject-2.0-beta.tar.bz2 Resolving www.pjsip.org... 74.52.82.210 Connecting to www.pjsip.org|74.52.82.210|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 3985641 (3.8M) [application/x-bzip2] Saving to: “pjproject-2.0-beta.tar.bz2” 100%[================================================================>] 3,985,641 1.58M/s in 2.4s 2012-04-26 12:47:06 (1.58 MB/s) - “pjproject-2.0-beta.tar.bz2” saved [3985641/3985641] |
#tar xvfj pjproject-2.0-beta.tar.bz2
![]() pjproject-2.0-beta/ pjproject-2.0-beta/lib/ pjproject-2.0-beta/svn_add pjproject-2.0-beta/self-test.mak pjproject-2.0-beta/Makefile pjproject-2.0-beta/svn_pset pjproject-2.0-beta/svn_add.bat pjproject-2.0-beta/install-sh pjproject-2.0-beta/configure-iphone pjproject-2.0-beta/user.mak.sample ... pjproject-2.0-beta/pjnath/docs/header.html pjproject-2.0-beta/pjnath/docs/UML-class-diagram.dia pjproject-2.0-beta/pjnath/docs/ice_demo.jpg pjproject-2.0-beta/pjnath/docs/doc_samples.h pjproject-2.0-beta/pjnath/docs/footer.html pjproject-2.0-beta/pjnath/docs/doxygen.cfg pjproject-2.0-beta/README.txt pjproject-2.0-beta/configure pjproject-2.0-beta/libpjproject.pc.in pjproject-2.0-beta/README-RTEMS |
#tar xvfj pjproject-2.0-beta.tar.bz2
pjproject-2.0-beta/ pjproject-2.0-beta/lib/ pjproject-2.0-beta/svn_add pjproject-2.0-beta/self-test.mak pjproject-2.0-beta/Makefile pjproject-2.0-beta/svn_pset pjproject-2.0-beta/svn_add.bat pjproject-2.0-beta/install-sh pjproject-2.0-beta/configure-iphone pjproject-2.0-beta/user.mak.sample ... pjproject-2.0-beta/pjnath/docs/header.html pjproject-2.0-beta/pjnath/docs/UML-class-diagram.dia pjproject-2.0-beta/pjnath/docs/ice_demo.jpg pjproject-2.0-beta/pjnath/docs/doc_samples.h pjproject-2.0-beta/pjnath/docs/footer.html pjproject-2.0-beta/pjnath/docs/doxygen.cfg pjproject-2.0-beta/README.txt pjproject-2.0-beta/configure pjproject-2.0-beta/libpjproject.pc.in pjproject-2.0-beta/README-RTEMS |
#cd pjproject-2.0-beta/
![]() |
#ls
![]() aconfigure config.guess install-sh pjlib-util README-RTEMS svn_pset.bat aconfigure.ac config.sub INSTALL.txt pjmedia README.txt tests build configure lib pjnath self-test.mak third_party build.mak.in configure-iphone libpjproject.pc.in pjproject-vs8.sln svn_add user.mak.sample build.symbian configure-legacy Makefile pjsip svn_add.bat version.mak c++-build.mak COPYING pjlib pjsip-apps svn_pset |
#ls
aconfigure config.guess install-sh pjlib-util README-RTEMS svn_pset.bat aconfigure.ac config.sub INSTALL.txt pjmedia README.txt tests build configure lib pjnath self-test.mak third_party build.mak.in configure-iphone libpjproject.pc.in pjproject-vs8.sln svn_add user.mak.sample build.symbian configure-legacy Makefile pjsip svn_add.bat version.mak c++-build.mak COPYING pjlib pjsip-apps svn_pset |
#less INSTALL.txt
![]() |
#make dep && make
![]() for dir in pjlib/build pjlib-util/build pjnath/build third_party/build pjmedia/build pjsip/build pjsip-apps/build ; do \ if make -C $dir dep; then \ true; \ else \ exit 1; \ fi; \ done make[1]: Entering directory `/root/pjproject-2.0-beta/pjlib/build' touch ../include/pj/config_site.h make -f /root/pjproject-2.0-beta/build/rules.mak APP=PJLIB app=pjlib depend ... -L/root/pjproject-2.0-beta/pjlib/lib -L/root/pjproject-2.0-beta/pjlib-util/lib -L/root/pjproject-2.0-beta/pjnath/lib -L/root/pjproject-2.0-beta/pjmedia/lib -L/root/pjproject-2.0-beta/pjsip/lib -L/root/pjproject-2.0-beta/third_party/lib -lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu -lpjmedia-codec-i686-pc-linux-gnu gcc -c -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I/root/pjproject-2.0-beta/pjlib/include -I/root/pjproject-2.0-beta/pjlib-util/include -I/root/pjproject-2.0-beta/pjnath/include -I/root/pjproject-2.0-beta/pjmedia/include -I/root/pjproject-2.0-beta/pjsip/include \ -o output/samples-i686-pc-linux-gnu/vid_streamutil.o \ ../src/samples/vid_streamutil.c gcc -o ../bin/samples/i686-pc-linux-gnu/vid_streamutil \ output/samples-i686-pc-linux-gnu/vid_streamutil.o \ -L/root/pjproject-2.0-beta/pjlib/lib -L/root/pjproject-2.0-beta/pjlib-util/lib -L/root/pjproject-2.0-beta/pjnath/lib -L/root/pjproject-2.0-beta/pjmedia/lib -L/root/pjproject-2.0-beta/pjsip/lib -L/root/pjproject-2.0-beta/third_party/lib -lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu -lpjmedia-codec-i686-pc-linux-gnu rm output/samples-i686-pc-linux-gnu/vid_streamutil.o output/samples-i686-pc-linux-gnu/tonegen.o output/samples-i686-pc-linux-gnu/auddemo.o output/samples-i686-pc-linux-gnu/playsine.o output/samples-i686-pc-linux-gnu/encdec.o output/samples-i686-pc-linux-gnu/aectest.o output/samples-i686-pc-linux-gnu/jbsim.o output/samples-i686-pc-linux-gnu/playfile.o output/samples-i686-pc-linux-gnu/latency.o outp make[2]: Leaving directory `/root/pjproject-2.0-beta/pjsip-apps/build' make[1]: Leaving directory `/root/pjproject-2.0-beta/pjsip-apps/build' |
#make dep && make
for dir in pjlib/build pjlib-util/build pjnath/build third_party/build pjmedia/build pjsip/build pjsip-apps/build ; do \ if make -C $dir dep; then \ true; \ else \ exit 1; \ fi; \ done make[1]: Entering directory `/root/pjproject-2.0-beta/pjlib/build' touch ../include/pj/config_site.h make -f /root/pjproject-2.0-beta/build/rules.mak APP=PJLIB app=pjlib depend ... -L/root/pjproject-2.0-beta/pjlib/lib -L/root/pjproject-2.0-beta/pjlib-util/lib -L/root/pjproject-2.0-beta/pjnath/lib -L/root/pjproject-2.0-beta/pjmedia/lib -L/root/pjproject-2.0-beta/pjsip/lib -L/root/pjproject-2.0-beta/third_party/lib -lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu -lpjmedia-codec-i686-pc-linux-gnu gcc -c -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1 -I/root/pjproject-2.0-beta/pjlib/include -I/root/pjproject-2.0-beta/pjlib-util/include -I/root/pjproject-2.0-beta/pjnath/include -I/root/pjproject-2.0-beta/pjmedia/include -I/root/pjproject-2.0-beta/pjsip/include \ -o output/samples-i686-pc-linux-gnu/vid_streamutil.o \ ../src/samples/vid_streamutil.c gcc -o ../bin/samples/i686-pc-linux-gnu/vid_streamutil \ output/samples-i686-pc-linux-gnu/vid_streamutil.o \ -L/root/pjproject-2.0-beta/pjlib/lib -L/root/pjproject-2.0-beta/pjlib-util/lib -L/root/pjproject-2.0-beta/pjnath/lib -L/root/pjproject-2.0-beta/pjmedia/lib -L/root/pjproject-2.0-beta/pjsip/lib -L/root/pjproject-2.0-beta/third_party/lib -lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu -lpjmedia-codec-i686-pc-linux-gnu rm output/samples-i686-pc-linux-gnu/vid_streamutil.o output/samples-i686-pc-linux-gnu/tonegen.o output/samples-i686-pc-linux-gnu/auddemo.o output/samples-i686-pc-linux-gnu/playsine.o output/samples-i686-pc-linux-gnu/encdec.o output/samples-i686-pc-linux-gnu/aectest.o output/samples-i686-pc-linux-gnu/jbsim.o output/samples-i686-pc-linux-gnu/playfile.o output/samples-i686-pc-linux-gnu/latency.o outp make[2]: Leaving directory `/root/pjproject-2.0-beta/pjsip-apps/build' make[1]: Leaving directory `/root/pjproject-2.0-beta/pjsip-apps/build' |
#make install
![]() mkdir -p /usr/local/lib cp -f /root/pjproject-2.0-beta/pjsip/lib/libpjsua-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjsip/lib/libpjsip-ua-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjsip/lib/libpjsip-simple-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjsip/lib/libpjsip-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjmedia/lib/libpjmedia-codec-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjmedia/lib/libpjmedia-videod mkdir -p /usr/local/include for d in pjlib pjlib-util pjnath pjmedia pjsip; do \ cp -RLf $d/include/* /usr/local/include/; \ done mkdir -p /usr/local/lib/pkgconfig sed -e "s!@PREFIX@!/usr/local!" libpjproject.pc.in | \ sed -e "s/@PJ_VERSION@/2.0-beta/" | \ sed -e "s!@PJ_LDLIBS@!-lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu -lpjmedia-codec-i686-pc-linux-gnu -lpjmedia-videodev-i686-pc-linux-gnu -lpjmedia-i686-pc-linux-gnu -lpjmedia-audiodev-i686-pc-linux-gnu -lpjnath-i686-pc-linux-gnu -lpjlib-util-i686-pc-linux-gnu -lresample-i686-pc-linux-gnu -lmilenage-i686-pc-linux- sed -e "s!@PJ_INSTALL_CFLAGS@!-I/usr/local/include -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1!" > //usr/local/lib/pkgconfig/libpjproject.pc |
#make install
mkdir -p /usr/local/lib cp -f /root/pjproject-2.0-beta/pjsip/lib/libpjsua-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjsip/lib/libpjsip-ua-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjsip/lib/libpjsip-simple-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjsip/lib/libpjsip-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjmedia/lib/libpjmedia-codec-i686-pc-linux-gnu.a /root/pjproject-2.0-beta/pjmedia/lib/libpjmedia-videod mkdir -p /usr/local/include for d in pjlib pjlib-util pjnath pjmedia pjsip; do \ cp -RLf $d/include/* /usr/local/include/; \ done mkdir -p /usr/local/lib/pkgconfig sed -e "s!@PREFIX@!/usr/local!" libpjproject.pc.in | \ sed -e "s/@PJ_VERSION@/2.0-beta/" | \ sed -e "s!@PJ_LDLIBS@!-lpjsua-i686-pc-linux-gnu -lpjsip-ua-i686-pc-linux-gnu -lpjsip-simple-i686-pc-linux-gnu -lpjsip-i686-pc-linux-gnu -lpjmedia-codec-i686-pc-linux-gnu -lpjmedia-videodev-i686-pc-linux-gnu -lpjmedia-i686-pc-linux-gnu -lpjmedia-audiodev-i686-pc-linux-gnu -lpjnath-i686-pc-linux-gnu -lpjlib-util-i686-pc-linux-gnu -lresample-i686-pc-linux-gnu -lmilenage-i686-pc-linux- sed -e "s!@PJ_INSTALL_CFLAGS@!-I/usr/local/include -DPJ_AUTOCONF=1 -O2 -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1!" > //usr/local/lib/pkgconfig/libpjproject.pc |
#pjsip
![]() bash: pjsip: command not found |
#pjsip
![]() bash: pjsip: command not found |
#which pjsip
![]() |
#which pjsip
![]() |
#find /usr/ -name \*pjsip\*
![]() /usr/local/include/pjsip.h /usr/local/include/pjsip /usr/local/include/pjsip_auth.h /usr/local/include/pjsip_ua.h /usr/local/include/pjsip_simple.h /usr/local/include/pjsip-simple /usr/local/include/pjsip-ua /usr/local/lib/libpjsip-i686-pc-linux-gnu.a /usr/local/lib/libpjsip-simple-i686-pc-linux-gnu.a /usr/local/lib/libpjsip-ua-i686-pc-linux-gnu.a |
#find /usr/ -name \*pjsip\*
/usr/local/include/pjsip.h /usr/local/include/pjsip /usr/local/include/pjsip_auth.h /usr/local/include/pjsip_ua.h /usr/local/include/pjsip_simple.h /usr/local/include/pjsip-simple /usr/local/include/pjsip-ua /usr/local/lib/libpjsip-i686-pc-linux-gnu.a /usr/local/lib/libpjsip-simple-i686-pc-linux-gnu.a /usr/local/lib/libpjsip-ua-i686-pc-linux-gnu.a |
#ls -l
![]() total 1668 -rwxr-xr-x 1 password password 466034 Dec 28 10:42 aconfigure -rw-r--r-- 1 password password 41471 Dec 28 10:42 aconfigure.ac -rw-r--r-- 1 root root 324629 Apr 26 12:52 asterisk.dot -rw-r--r-- 1 root root 107 Apr 26 12:53 asterisk.png drwxr-xr-x 3 password password 4096 Apr 26 12:47 build -rw-r--r-- 1 root root 4713 Apr 26 12:47 build.mak -rw-r--r-- 1 password password 4894 Jul 19 2011 build.mak.in drwxr-xr-x 2 password password 4096 Dec 29 05:42 build.symbian -rw-r--r-- 1 password password 350 May 29 2007 c++-build.mak ... -rw-r--r-- 1 password password 34604 May 5 2011 README.txt -rw-r--r-- 1 password password 3137 Sep 25 2007 self-test.mak -rw-r--r-- 1 password password 38 Dec 9 2006 svn_add -rw-r--r-- 1 password password 122 Feb 19 2010 svn_add.bat -rw-r--r-- 1 password password 72 Nov 8 2006 svn_pset -rw-r--r-- 1 password password 155 Feb 19 2010 svn_pset.bat drwxr-xr-x 5 password password 4096 Dec 29 05:43 tests drwxr-xr-x 14 password password 4096 Dec 29 05:44 third_party -rw-r--r-- 1 password password 182 Nov 11 2007 user.mak.sample -rw-r--r-- 1 password password 30 Dec 29 05:17 version.mak |
#ls -l
total 1668 -rwxr-xr-x 1 password password 466034 Dec 28 10:42 aconfigure -rw-r--r-- 1 password password 41471 Dec 28 10:42 aconfigure.ac -rw-r--r-- 1 root root 324629 Apr 26 12:52 asterisk.dot -rw-r--r-- 1 root root 107 Apr 26 12:53 asterisk.png drwxr-xr-x 3 password password 4096 Apr 26 12:47 build -rw-r--r-- 1 root root 4713 Apr 26 12:47 build.mak -rw-r--r-- 1 password password 4894 Jul 19 2011 build.mak.in drwxr-xr-x 2 password password 4096 Dec 29 05:42 build.symbian -rw-r--r-- 1 password password 350 May 29 2007 c++-build.mak ... -rw-r--r-- 1 password password 34604 May 5 2011 README.txt -rw-r--r-- 1 password password 3137 Sep 25 2007 self-test.mak -rw-r--r-- 1 password password 38 Dec 9 2006 svn_add -rw-r--r-- 1 password password 122 Feb 19 2010 svn_add.bat -rw-r--r-- 1 password password 72 Nov 8 2006 svn_pset -rw-r--r-- 1 password password 155 Feb 19 2010 svn_pset.bat drwxr-xr-x 5 password password 4096 Dec 29 05:43 tests drwxr-xr-x 14 password password 4096 Dec 29 05:44 third_party -rw-r--r-- 1 password password 182 Nov 11 2007 user.mak.sample -rw-r--r-- 1 password password 30 Dec 29 05:17 version.mak |
Channel:SIP/6001 Context:internal Extension:8800
for i in *.txt do i_wav=`echo $i | sed s/.txt/.wav/` i_gsm=`echo $i | sed s/.txt/.gsm/` cat $i | text2wave -eval "(voice_msu_ru_nsh_clunits)" > $i_wav sox -t wav $i_wav -r8000 -c1 -t gsm $i_gsm resample done
Время первой команды журнала | 09:37:02 2012- 4-26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 11:53:39 2012- 4-26 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 3.96 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 3.96 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.00 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.69 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008