/l3/users/2014-11-nt-voip/nt-voip/debian8/root :1 :2 :3 :4 |
|
#cat /tmp/call.call
|
#cat > /tmp/call.call
Context: internal Channel: SIP/1101 Extension: 8405 ^C |
#cat > /tmp/call.call
Context: internal Channel: SIP/1101 Extension: 8405 ^Z [2]+ Stopped cat > /tmp/call.call |
#cat > /tmp/call.call
Context: internal Channel: SIP/1101 Extension: 8405 ^R ^C |
#vi /tmp/call.call
--- /tmp/l3-saved-3787.27008.9484 2014-11-27 16:13:09.833670347 +0200 +++ /tmp/call.call 2014-11-27 16:13:23.309669925 +0200 @@ -1,3 +1,3 @@ Context: internal -Channel: SIP/1101 +Channel: SIP/3201 Extension: 8405 |
#chown asterisk:asterisk /tmp/call.call
|
#cp -p /tmp/call.call /var/spool/asterisk/outgoing/
|
#ls /var/spool/asterisk/outgoing/
|
#vi /usr/local/call.all
--- /dev/null 2014-11-27 09:27:30.757697914 +0200 +++ /usr/local/call.all 2014-11-27 16:24:30.113649048 +0200 @@ -0,0 +1,18 @@ + +for CHANNEL in 1201 1202 kiev/{1{1,3},2{1,2,3},3{1,2}}0{1,2} +do + +FILE=/tmp/${RANDOM}$RANDOM.call + +cat <<EOF > $FILE +Context: internal +Extension: 8405 +Channel: SIP/${CHANNEL} +EOF + +chown asterisk:asterisk $FILE +mv $FILE /var/spool/asterisk/outgoing/ + +done + +exit 0 |
#/usr/local/call.all
|
#^C
|
#vi /usr/local/call.all
|
#mv /usr/local/call.all /usr/local/call-all
|
#ls /usr/local/
bin call-all etc games include lib man sbin share src |
#vi /usr/local/bin/call-all-my
|
#apt-get install subversion
Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: libsvn1 Suggested packages: subversion-tools The following NEW packages will be installed: libsvn1 subversion 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. ... Get:2 http://192.168.12.254/debian/ wheezy/main subversion amd64 1.6.17dfsg-4+deb7u6 [1,320 kB] Fetched 2,253 kB in 0s (37.6 MB/s) Selecting previously unselected package libsvn1:amd64. (Reading database ... 144339 files and directories currently installed.) Unpacking libsvn1:amd64 (from .../libsvn1_1.6.17dfsg-4+deb7u6_amd64.deb) ... Selecting previously unselected package subversion. Unpacking subversion (from .../subversion_1.6.17dfsg-4+deb7u6_amd64.deb) ... Processing triggers for man-db ... Setting up libsvn1:amd64 (1.6.17dfsg-4+deb7u6) ... Setting up subversion (1.6.17dfsg-4+deb7u6) ... |
#svn co http://chan-datacard.googlecode.com/svn/trunk/
A trunk/__helpers.c A trunk/__char_conv.c A trunk/configure A trunk/chan_datacard.h A trunk/Makefile.in A trunk/__cli.c A trunk/COPYRIGHT.txt A trunk/__channel.c A trunk/__manager.c A trunk/__at_fifo_queue.c ... A trunk/__at_response.c A trunk/__ringbuffer.c A trunk/README.txt A trunk/etc A trunk/etc/datacard.conf A trunk/__ringbuffer.h A trunk/chan_datacard.c A trunk/__at_parse.c A trunk/__at_read.c Checked out revision 192. |
#svn co http://chan-datacard.googlecode.com/svn/trunk/ chan-datacard
A chan-datacard/__helpers.c A chan-datacard/__char_conv.c A chan-datacard/configure A chan-datacard/chan_datacard.h A chan-datacard/Makefile.in A chan-datacard/__cli.c A chan-datacard/COPYRIGHT.txt A chan-datacard/__channel.c A chan-datacard/__manager.c A chan-datacard/__at_fifo_queue.c ... A chan-datacard/__at_response.c A chan-datacard/__ringbuffer.c A chan-datacard/README.txt A chan-datacard/etc A chan-datacard/etc/datacard.conf A chan-datacard/__ringbuffer.h A chan-datacard/chan_datacard.c A chan-datacard/__at_parse.c A chan-datacard/__at_read.c Checked out revision 192. |
#cd chan-datacard/
|
#ls -ls
total 236 4 -rw-r--r-- 1 root root 2778 Nov 27 16:48 __app.c 4 -rw-r--r-- 1 root root 2815 Nov 27 16:48 __at_fifo_queue.c 16 -rw-r--r-- 1 root root 15109 Nov 27 16:48 __at_parse.c 8 -rw-r--r-- 1 root root 7454 Nov 27 16:48 __at_read.c 40 -rw-r--r-- 1 root root 37668 Nov 27 16:48 __at_response.c 16 -rw-r--r-- 1 root root 13493 Nov 27 16:48 __at_send.c 20 -rw-r--r-- 1 root root 17272 Nov 27 16:48 chan_datacard.c 20 -rw-r--r-- 1 root root 16659 Nov 27 16:48 chan_datacard.h 20 -rw-r--r-- 1 root root 20364 Nov 27 16:48 __channel.c ... 4 -rwxr-xr-x 1 root root 799 Nov 27 16:48 configure 4 -rw-r--r-- 1 root root 124 Nov 27 16:48 COPYRIGHT.txt 4 drwxr-xr-x 3 root root 4096 Nov 27 16:48 etc 4 -rw-r--r-- 1 root root 2339 Nov 27 16:48 __helpers.c 20 -rw-r--r-- 1 root root 18671 Nov 27 16:48 LICENSE.txt 4 -rw-r--r-- 1 root root 573 Nov 27 16:48 Makefile.in 12 -rw-r--r-- 1 root root 11477 Nov 27 16:48 __manager.c 4 -rw-r--r-- 1 root root 2198 Nov 27 16:48 README.txt 8 -rw-r--r-- 1 root root 6199 Nov 27 16:48 __ringbuffer.c 4 -rw-r--r-- 1 root root 1038 Nov 27 16:48 __ringbuffer.h |
#apt-get install asterisk-dev
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: asterisk-dev 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 959 kB of archives. After this operation, 2,131 kB of additional disk space will be used. Get:1 http://192.168.12.254/debian/ wheezy/main asterisk-dev all 1:1.8.13.1~dfsg1-3+deb7u3 [959 kB] Fetched 959 kB in 0s (31.3 MB/s) Selecting previously unselected package asterisk-dev. (Reading database ... 144427 files and directories currently installed.) Unpacking asterisk-dev (from .../asterisk-dev_1%3a1.8.13.1~dfsg1-3+deb7u3_all.deb) ... Setting up asterisk-dev (1:1.8.13.1~dfsg1-3+deb7u3) ... |
#./configure
configure complete, now type 'make' |
#make
gcc -Wall -Wextra -fPIC -DAST_MODULE=\"chan_datacard\" -D_THREAD_SAFE -I. -I/usr/include -O2 -DICONV_CONST="" -D__DEBUG__ -D__APP__ -c chan_datacard.c In file included from chan_datacard.c:69:0: chan_datacard.h:257:2: warning: initialization from incompatible pointer type [enabled by default] chan_datacard.h:257:2: warning: (near initialization for ‘channel_tech.requester’) [enabled by default] In file included from chan_datacard.c:85:0: __channel.c: In function ‘channel_new’: __channel.c:18:2: warning: implicit declaration of function ‘ast_channel_linkedid’ [-Wimplicit-function-declaration] __channel.c:18:9: warning: pointer/integer type mismatch in conditional expression [enabled by default] __channel.c:22:3: warning: implicit declaration of function ‘ast_channel_tech_pvt_set’ [-Wimplicit-function-declaration] __channel.c:23:3: warning: implicit declaration of function ‘ast_channel_tech_set’ [-Wimplicit-function-declaration] ... __channel.c: In function ‘channel_indicate’: __channel.c:792:15: warning: initialization makes pointer from integer without a cast [enabled by default] __channel.c: In function ‘channel_queue_hangup’: __channel.c:879:6: warning: implicit declaration of function ‘ast_channel_hangupcause_set’ [-Wimplicit-function-declaration] chan_datacard.c: In function ‘unload_module’: chan_datacard.c:621:2: warning: implicit declaration of function ‘ast_format_cap_destroy’ [-Wimplicit-function-declaration] chan_datacard.c: In function ‘load_module’: chan_datacard.c:685:9: warning: implicit declaration of function ‘ast_format_cap_alloc’ [-Wimplicit-function-declaration] chan_datacard.c:690:27: warning: assignment makes pointer from integer without a cast [enabled by default] make: *** [chan_datacard.o] Error 1 |
#svn co http://asterisk-chan-dongle.googlecode.com/svn/trunk/ chan-dongle
A chan-dongle/at_read.c A chan-dongle/Makefile.in A chan-dongle/chan_dongle.c A chan-dongle/TODO.txt A chan-dongle/at_read.h A chan-dongle/chan_dongle.h A chan-dongle/cli.c A chan-dongle/channel.c A chan-dongle/manager.c A chan-dongle/dc_config.c ... A chan-dongle/contrib/openwrt/asterisk18-chan-dongle/Makefile A chan-dongle/LICENSE.txt A chan-dongle/cpvt.h A chan-dongle/single.c A chan-dongle/memmem.h A chan-dongle/README.txt A chan-dongle/etc A chan-dongle/etc/extensions.conf A chan-dongle/etc/dongle.conf Checked out revision 42. |
#cd ..
|
#cd chan-dongle/]
bash: cd: chan-dongle/]: No such file or directory |
#cd chan-dongle/
|
#./contrib/
bash: ./contrib/: Is a directory |
#./configure
bash: ./configure: No such file or directory |
#aclocal
|
#autoconf
|
#automake -a
configure.in:6: installing `./config.guess' configure.in:6: installing `./config.sub' configure.in:7: installing `./install-sh' configure.in:7: installing `./missing' automake: no `Makefile.am' found for any configure output |
#./configure
checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking for gcc... gcc ... checking for memmem... yes checking for strcasecmp... yes checking for strchr... yes checking for strncasecmp... yes checking for strtol... yes checking for realpath... yes configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: executing depfiles commands |
#make -j
gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT app.o -MF .app.o.d -MP -o app.o -c app.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT at_command.o -MF .at_command.o.d -MP -o at_command.o -c at_command.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT at_parse.o -MF .at_parse.o.d -MP -o at_parse.o -c at_parse.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT at_queue.o -MF .at_queue.o.d -MP -o at_queue.o -c at_queue.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT at_read.o -MF .at_read.o.d -MP -o at_read.o -c at_read.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT at_response.o -MF .at_response.o.d -MP -o at_response.o -c at_response.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT chan_dongle.o -MF .chan_dongle.o.d -MP -o chan_dongle.o -c chan_dongle.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT channel.o -MF .channel.o.d -MP -o channel.o -c channel.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT char_conv.o -MF .char_conv.o.d -MP -o char_conv.o -c char_conv.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT cli.o -MF .cli.o.d -MP -o cli.o -c cli.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT helpers.o -MF .helpers.o.d -MP -o helpers.o -c helpers.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT manager.o -MF .manager.o.d -MP -o manager.o -c manager.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT memmem.o -MF .memmem.o.d -MP -o memmem.o -c memmem.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT ringbuffer.o -MF .ringbuffer.o.d -MP -o ringbuffer.o -c ringbuffer.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT cpvt.o -MF .cpvt.o.d -MP -o cpvt.o -c cpvt.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT dc_config.o -MF .dc_config.o.d -MP -o dc_config.o -c dc_config.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT pdu.o -MF .pdu.o.d -MP -o pdu.o -c pdu.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT mixbuffer.o -MF .mixbuffer.o.d -MP -o mixbuffer.o -c mixbuffer.c gcc -g -O2 -O6 -I. -D_GNU_SOURCE -I/usr/include -I/usr/include -DHAVE_CONFIG_H -fvisibility=hidden -fPIC -Wall -Wextra -MD -MT pdiscovery.o -MF .pdiscovery.o.d -MP -o pdiscovery.o -c pdiscovery.c gcc -shared -Xlinker -x -o chan_dongle.so app.o at_command.o at_parse.o at_queue.o at_read.o at_response.o chan_dongle.o channel.o char_conv.o cli.o helpers.o manager.o memmem.o ringbuffer.o cpvt.o dc_config.o pdu.o mixbuffer.o pdiscovery.o |
#make install
./config.status config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands strip chan_dongle.so /usr/bin/install -c -m 755 chan_dongle.so /usr/lib/asterisk/modules |
#ls -ls /usr/lib/asterisk/modules/chan_
chan_agent.so chan_dongle.so chan_local.so chan_sip.so chan_alsa.so chan_gtalk.so chan_multicast_rtp.so chan_skinny.so chan_bridge.so chan_iax2.so chan_oss.so chan_unistim.so chan_dahdi.so chan_jingle.so chan_phone.so chan_vpb.so |
#ls -ls /usr/lib/asterisk/modules/chan_d
chan_dahdi.so chan_dongle.so |
#ls -ls /usr/lib/asterisk/modules/chan_dongle.so
192 -rwxr-xr-x 1 root root 193112 Nov 27 16:55 /usr/lib/asterisk/modules/chan_dongle.so |
#ls -ls /usr/lib/asterisk/modules/chan_dongle.so
192 -rwxr-xr-x 1 root root 193112 Nov 27 16:55 /usr/lib/asterisk/modules/chan_dongle.so |
#ls -ls /usr/lib/asterisk/modules/
total 7564 44 -rw-r--r-- 1 root root 43464 Jan 4 2014 app_adsiprog.so 24 -rw-r--r-- 1 root root 23168 Jan 4 2014 app_alarmreceiver.so 20 -rw-r--r-- 1 root root 18832 Jan 4 2014 app_amd.so 16 -rw-r--r-- 1 root root 14680 Jan 4 2014 app_authenticate.so 8 -rw-r--r-- 1 root root 6288 Jan 4 2014 app_cdr.so 12 -rw-r--r-- 1 root root 10464 Jan 4 2014 app_celgenuserevent.so 12 -rw-r--r-- 1 root root 10488 Jan 4 2014 app_chanisavail.so 12 -rw-r--r-- 1 root root 10464 Jan 4 2014 app_channelredirect.so 32 -rw-r--r-- 1 root root 31456 Jan 4 2014 app_chanspy.so ... 16 -rw-r--r-- 1 root root 14984 Jan 4 2014 res_rtp_multicast.so 12 -rw-r--r-- 1 root root 10616 Jan 4 2014 res_security_log.so 52 -rw-r--r-- 1 root root 52392 Jan 4 2014 res_smdi.so 32 -rw-r--r-- 1 root root 30984 Jan 4 2014 res_snmp.so 16 -rw-r--r-- 1 root root 14680 Jan 4 2014 res_speech.so 20 -rw-r--r-- 1 root root 18976 Jan 4 2014 res_srtp.so 16 -rw-r--r-- 1 root root 14744 Jan 4 2014 res_stun_monitor.so 12 -rw-r--r-- 1 root root 10544 Jan 4 2014 res_timing_dahdi.so 16 -rw-r--r-- 1 root root 14840 Jan 4 2014 res_timing_pthread.so 16 -rw-r--r-- 1 root root 14712 Jan 4 2014 res_timing_timerfd.so |
#ls -ls /usr/lib/asterisk/modules/chan_dongle.so
192 -rwxr-xr-x 1 root root 193112 Nov 27 16:55 /usr/lib/asterisk/modules/chan_dongle.so |
#cp etc/dongle.conf /etc/asterisk/
|
#vi /etc/asterisk/dongle.conf
--- /tmp/l3-saved-3787.11394.10353 2014-11-27 17:00:55.733580614 +0200 +++ /etc/asterisk/dongle.conf 2014-11-27 17:01:36.001579356 +0200 @@ -77,6 +77,7 @@ ; dongle required settings [dongle0] +;подкл модем audio=/dev/ttyUSB1 ; tty port for audio connection; no default value data=/dev/ttyUSB2 ; tty port for AT commands; no default value |
#/etc/init.d/asterisk restart
Stopping Asterisk PBX: asterisk. Starting Asterisk PBX: asterisk. |
#cd ..
|
#ls -l ls -ls /usr/lib/asterisk/modules/chan_dongle.so /usr
ls: cannot access ls: No such file or directory 192 -rwxr-xr-x 1 root root 193112 Nov 27 16:55 /usr/lib/asterisk/modules/chan_dongle.so /usr: total 136 56 drwxr-xr-x 2 root root 53248 Nov 27 16:52 bin 4 drwxr-xr-x 2 root root 4096 Nov 23 12:49 games 4 drwxr-xr-x 40 root root 4096 Nov 27 16:48 include 40 drwxr-xr-x 169 root root 36864 Nov 27 09:48 lib 4 drwxrwsr-x 10 root staff 4096 Nov 27 16:28 local 12 drwxr-xr-x 2 root root 12288 Nov 27 09:48 sbin 12 drwxr-xr-x 306 root root 12288 Nov 27 16:52 share 4 drwxr-xr-x 5 root root 4096 Nov 26 14:09 src |
#/lls -ls /usr/lib/asterisk/modules/chan_dongle.so
bash: /lls: No such file or directory |
#ls -ls /usr/lib/asterisk/modules/chan_dongle.so
192 -rwxr-xr-x 1 root root 193112 Nov 27 16:55 /usr/lib/asterisk/modules/chan_dongle.so |
## я буду делать
|
#â# ÑейÑÐ°Ñ Ð¿Ð¾ÑмоÑÑим
|
#vim /etc/asterisk/dongle.conf
|
#; you can use both imei and imsi together in this case exact match by imei and imsi required
Stopping Asterisk PBX: asterisk. Starting Asterisk PBX: asterisk. |
#asterisk -rvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 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.8.13.1~dfsg1-3+deb7u3 currently running on debian8 (pid = 13900) ... -- [dongle0] Dongle has disconnected -- [dongle0] Trying to connect on /dev/ttyUSB2... -- [dongle0] Dongle has connected, initializing... [Nov 27 17:08:55] ERROR[13956]: at_response.c:364 at_response_error: [dongle0] Getting IMSI number failed -- [dongle0] Error initializing Dongle -- [dongle0] Dongle has disconnected -- [dongle0] Trying to connect on /dev/ttyUSB2... [Nov 27 17:09:10] WARNING[13940]: chan_dongle.c:215 opentty: unable to open /dev/ttyUSB2: No such file or directory debian8*CLI> quit Executing last minute cleanups |
#less /var/log/messages
|
#lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 003 Device 003: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard Bus 003 Device 004: ID 09da:000a A4 Tech Co., Ltd Optical Mouse Opto 510D |
#lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 004 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 004 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub Bus 003 Device 003: ID 046d:c312 Logitech, Inc. DeLuxe 250 Keyboard Bus 003 Device 004: ID 09da:000a A4 Tech Co., Ltd Optical Mouse Opto 510D Bus 003 Device 006: ID 12d1:1001 Huawei Technologies Co., Ltd. E169/E620/E800 HSDPA Modem |
## если это стыарый моедем, то он не работает
|
##новый
|
## тогда странно, потому что у сергея работает
|
#ls
aclocal.m4 at_read.c channel.h config.sub helpers.c memmem.o ringbuffer.c app.c at_read.h channel.o configure helpers.h missing ringbuffer.h app.h at_read.o char_conv.c configure.in helpers.o mixbuffer.c ringbuffer.o app.o at_response.c char_conv.h contrib INSTALL mixbuffer.h single.c at_command.c at_response.h char_conv.o COPYRIGHT.txt install-sh mixbuffer.o stamp-h1 at_command.h at_response.o cli.c cpvt.c LICENSE.txt mutils.h stamp-h.in at_command.o autom4te.cache cli.h cpvt.h Makefile pdiscovery.c test at_parse.c BUGS cli.o cpvt.o Makefile.in pdiscovery.h TODO.txt at_parse.h chan_dongle.c config.guess dc_config.c manager.c pdiscovery.o tools at_parse.o chan_dongle.h config.h dc_config.h manager.h pdu.c at_queue.c chan_dongle.o config.h.in dc_config.o manager.o pdu.h at_queue.h chan_dongle.so config.log etc memmem.c pdu.o at_queue.o channel.c config.status export.h memmem.h README.txt |
#cd aster-tips/
|
#vi mapping
--- /dev/null 2014-11-28 09:38:33.641685563 +0200 +++ mapping 2014-11-28 10:23:30.965888871 +0200 @@ -0,0 +1,29 @@ +[gsm-card0 +; Ð´Ð»Ñ ÐºÐ°Ð¶Ð´Ð¾Ð¹ каÑÑоÑки еÑли надо +[gsm-card1] + +[gsm-incoming] + +; как ÑделаÑÑ ÐºÑаÑивÑй маппинг? +; +380501234567 => 3301 +; +380502233445 => 3302 +; ÑеÑез Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ : +; database set gsm-incoming +380501234567 3301 +; database set gsm-incoming +380502233445 3302 +; и иÑполÑзÑеÑе в диалплане Ñак: +; Dial(SIP/${DB(gsm-incoming/${DONGLENUMBER})}) + + +exten => _33XX,1,Dial(SIP/${EXTEN},5) +exten => _33XX,n,Dial(SIP/${DB(redirect/${EXTEN})}) +; ÑолÑко ÑнаÑала нÑжно пÑопиÑаÑÑ Ð¼Ð¾Ð±Ð¸Ð»ÑнÑе ÑелеÑÐ¾Ð½Ñ Ð² базе redirect: + +database put redirect 3301 +380503322117 + +; ÑепеÑÑ Ð±ÑÐ´ÐµÑ Ð·Ð²Ð¾Ð½Ð¸ÑÑ Ð½Ð° пеÑвÑй ÑелеÑон СеÑÐ³ÐµÑ +;exten => s,1,Dial(SIP/2301) +; попÑобÑем пеÑевеÑÑи на белок и бÑÑÑндÑков +exten => s,1,Goto(menu,s,1) + +exten => sms,1,System(sh -c "echo ${SMS} >> /tmp/sms.log") +exten => ussd,1,System(sh -c "echo ${USSD} >> /tmp/ussd.log") |
#lspci | grep -i digium
|
#lspci
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200/2nd Generation Core Processor Family PCI Express Root Port (rev 09) 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04) 00:16.2 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family IDE-r Controller (rev 04) 00:16.3 Serial controller: Intel Corporation 6 Series/C200 Series Chipset Family KT Controller (rev 04) 00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04) 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 04) 00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b4) 00:1c.6 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 7 (rev b4) 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 04) 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a4) 00:1f.0 ISA bridge: Intel Corporation Q67 Express Chipset Family LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 04) 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 04) 03:00.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04) 04:03.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a Controller (rev 70) |
#apt-get install git-core^C
|
#cd ..
|
#apt-get install git-core
Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: git-core 0 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. Need to get 1,336 B of archives. After this operation, 21.5 kB of additional disk space will be used. Get:1 http://192.168.12.254/debian/ wheezy/main git-core all 1:1.7.10.4-1+wheezy1 [1,336 B] Fetched 1,336 B in 0s (88.3 kB/s) Selecting previously unselected package git-core. (Reading database ... 144805 files and directories currently installed.) Unpacking git-core (from .../git-core_1%3a1.7.10.4-1+wheezy1_all.deb) ... Setting up git-core (1:1.7.10.4-1+wheezy1) ... |
#git clone git://git.asterisk.org/dahdi/linux dahdi-linux
Cloning into 'dahdi-linux'... remote: Counting objects: 7754, done. remote: Compressing objects: 100% (1510/1510), done. remote: Total 7754 (delta 5067), reused 7754 (delta 5067) Receiving objects: 100% (7754/7754), 5.17 MiB | 2.30 MiB/s, done. Resolving deltas: 100% (5067/5067), done. |
#cd dahdi-linux/
|
#make
make -C drivers/dahdi/firmware firmware-loaders make[1]: Entering directory `/root/dahdi-linux/drivers/dahdi/firmware' Attempting to download dahdi-fwload-vpmadt032-1.25.0.tar.gz --2014-11-28 11:41:21-- http://downloads.digium.com/pub/telephony/firmware/releases/dahdi-fwload-vpmadt032-1.25.0.tar.gz Resolving downloads.digium.com (downloads.digium.com)... 76.164.171.238, 2001:470:e0d4::ee Connecting to downloads.digium.com (downloads.digium.com)|76.164.171.238|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 149360 (146K) [application/x-gzip] Saving to: `dahdi-fwload-vpmadt032-1.25.0.tar.gz' 100%[===========================================================>] 149,360 262K/s in 0.6s ... LD [M] /root/dahdi-linux/drivers/dahdi/xpp/xpd_fxo.ko CC /root/dahdi-linux/drivers/dahdi/xpp/xpd_fxs.mod.o LD [M] /root/dahdi-linux/drivers/dahdi/xpp/xpd_fxs.ko CC /root/dahdi-linux/drivers/dahdi/xpp/xpd_pri.mod.o LD [M] /root/dahdi-linux/drivers/dahdi/xpp/xpd_pri.ko CC /root/dahdi-linux/drivers/dahdi/xpp/xpp.mod.o LD [M] /root/dahdi-linux/drivers/dahdi/xpp/xpp.ko CC /root/dahdi-linux/drivers/dahdi/xpp/xpp_usb.mod.o LD [M] /root/dahdi-linux/drivers/dahdi/xpp/xpp_usb.ko make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64' |
#grep cpu /proc/cpuinfo
cpu family : 6 cpu MHz : 1600.000 cpu cores : 4 cpuid level : 13 cpu family : 6 cpu MHz : 1600.000 cpu cores : 4 cpuid level : 13 cpu family : 6 cpu MHz : 1600.000 cpu cores : 4 cpuid level : 13 cpu family : 6 cpu MHz : 1600.000 cpu cores : 4 cpuid level : 13 |
#grep cpuid /proc/cpuinfo
cpuid level : 13 cpuid level : 13 cpuid level : 13 cpuid level : 13 |
#find /sys/ -name \*03:00.0\*
/sys/devices/pci0000:00/0000:00:1c.6/0000:03:00.0 /sys/bus/pci/devices/0000:03:00.0 /sys/bus/pci/drivers/xhci_hcd/0000:03:00.0 |
#make install
make -C drivers/dahdi/firmware firmware-loaders make[1]: Entering directory `/root/dahdi-linux/drivers/dahdi/firmware' make[1]: Leaving directory `/root/dahdi-linux/drivers/dahdi/firmware' make -C /lib/modules/3.2.0-4-amd64/build SUBDIRS=/root/dahdi-linux/drivers/dahdi DAHDI_INCLUDE=/root/dahdi-linux/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m make[1]: Entering directory `/usr/src/linux-headers-3.2.0-4-amd64' VERSION /root/dahdi-linux/drivers/dahdi/xpp/xpp_version.h Building modules, stage 2. MODPOST 35 modules make[1]: Leaving directory `/usr/src/linux-headers-3.2.0-4-amd64' build_tools/uninstall-modules dahdi 3.2.0-4-amd64 ... ln -s FPGA_1161.201.hex /usr/share/dahdi/FPGA_1161.203.hex;\ fi make[1]: Leaving directory `/root/dahdi-linux/drivers/dahdi/xpp/firmwares' ################################################### ### ### DAHDI installed successfully. ### If you have not done so before, install the package ### dahdi-tools. ### ################################################### |
#modinfo wct1xxp
filename: /lib/modules/3.2.0-4-amd64/dahdi/wct1xxp.ko license: GPL v2 author: Mark Spencer <markster@digium.com> description: Wildcard T100P/E100P Driver alias: pci:v0000E159d00000001sv00006159sd*bc*sc*i* depends: dahdi vermagic: 3.2.0-4-amd64 SMP mod_unload modversions parm: debug:int |
#apt-get install dahdi-linux asterisk-dahdi
Reading package lists... Done Building dependency tree Reading state information... Done asterisk-dahdi is already the newest version. dahdi-linux is already the newest version. dahdi-linux set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. |
#cd ..
|
#ls -ls /etc/asterisk/
adsi.conf cel_sqlite3_custom.conf func_odbc.conf res_config_mysql.conf agents.conf cel_tds.conf gtalk.conf res_config_sqlite.conf ais.conf chan_dahdi.conf h323.conf res_curl.conf alarmreceiver.conf chan_mobile.conf http.conf res_fax.conf alsa.conf chan_ooh323.conf iax.conf res_ldap.conf amd.conf cli_aliases.conf iaxprov.conf res_odbc.conf app_mysql.conf cli.conf indications.conf res_pgsql.conf asterisk.adsi cli_permissions.conf jabber.conf res_pktccops.conf asterisk.conf codecs.conf jingle.conf res_snmp.conf calendar.conf console.conf logger.conf res_stun_monitor.conf ... cdr_mysql.conf enum.conf misdn.conf skinny.conf cdr_odbc.conf extconfig.conf modules.conf sla.conf cdr_pgsql.conf extensions.ael musiconhold.conf smdi.conf cdr_sqlite3_custom.conf extensions.conf muted.conf telcordia-1.adsi cdr_syslog.conf extensions.conf.bak osp.conf udptl.conf cdr_tds.conf extensions.lua oss.conf unistim.conf cel.conf extensions_minivm.conf phone.conf users.conf cel_custom.conf features.conf phoneprov.conf voicemail.conf cel_odbc.conf festival.conf queuerules.conf vpb.conf cel_pgsql.conf followme.conf queues.conf |
#ls -ls /etc/asterisk/co
codecs.conf console.conf |
#ls -ls /etc/asterisk/co
codecs.conf console.conf |
#ls -ls
total 28 4 -rw-r--r-- 1 root root 811 Nov 26 12:03 \ 4 drwxr-xr-x 2 root root 4096 Nov 28 10:23 aster-tips 4 drwxr-xr-x 5 root root 4096 Nov 27 16:52 chan-datacard 4 drwxr-xr-x 8 root root 4096 Nov 27 16:55 chan-dongle 4 drwxr-xr-x 6 root root 4096 Nov 28 11:40 dahdi-linux 4 -rw-r--r-- 1 root root 6 Nov 26 17:03 ert 4 drwxr-xr-x 4 root root 4096 Nov 27 16:48 trunk |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3744.5471.19861 2014-11-28 13:54:10.474290420 +0200 +++ /etc/asterisk/extensions.conf 2014-11-28 13:54:37.338291273 +0200 @@ -111,7 +111,7 @@ [international] -exten => _[12][123]XX,1,Dial(SIP/ny/${EXTEN}) +exten => _[125][123]XX,1,Dial(SIP/ny/${EXTEN}) [gr1] |
#asterisk -rvvv
Asterisk 1.8.13.1~dfsg1-3+deb7u3, Copyright (C) 1999 - 2012 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.8.13.1~dfsg1-3+deb7u3 currently running on debian8 (pid = 2432) ... -- Registered extension context 'app_dial_gosub_virtual_context'; registrar: app_dial -- merging incls/swits/igpats from old(app_dial_gosub_virtual_context) to new(app_dial_gosub_virtual_context) context, registrar = pbx_config -- Added extension 's' priority 1 to app_dial_gosub_virtual_context -- Time to scan old dialplan and merge leftovers back into the new: 0.000816 sec -- Time to restore hints and swap in new dialplan: 0.000002 sec -- Time to delete the old dialplan: 0.000059 sec -- Total time merge_contexts_delete: 0.000877 sec debian8*CLI> Disconnected from Asterisk server Executing last minute cleanups |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3744.396.16253 2014-11-28 13:55:06.206292190 +0200 +++ /etc/asterisk/extensions.conf 2014-11-28 13:56:25.350294705 +0200 @@ -111,7 +111,8 @@ [international] -exten => _[125][123]XX,1,Dial(SIP/ny/${EXTEN}) +exten => _[12][123]XX,1,Dial(SIP/ny/${EXTEN}) +exten => _5XXX,1,Dial(SIP/ny/${EXTEN}) [gr1] |
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3744.1974.19363 2014-11-28 14:00:09.130301814 +0200 +++ /etc/asterisk/extensions.conf 2014-11-28 14:00:19.510302144 +0200 @@ -112,7 +112,7 @@ [international] exten => _[12][123]XX,1,Dial(SIP/ny/${EXTEN}) -exten => _5XXX,1,Dial(SIP/ny/${EXTEN}) +;exten => _5XXX,1,Dial(SIP/ny/${EXTEN}) exten => _5XXX,1,Dial(SIP/atlanta/${EXTEN}) [gr1] |
#vim /etc/asterisk/extensions.conf
--- /tmp/l3-saved-7583.25293.7852 2014-11-28 14:01:29.850304378 +0200 +++ /etc/asterisk/extensions.conf 2014-11-28 14:02:09.158305627 +0200 @@ -113,6 +113,8 @@ exten => _[12][123]XX,1,Dial(SIP/ny/${EXTEN}) ;exten => _5XXX,1,Dial(SIP/ny/${EXTEN}) +; ???? +; почему атланта здесь, если на 22 идёт через ny? exten => _5XXX,1,Dial(SIP/atlanta/${EXTEN}) [gr1] |
#vim /etc/asterisk/extensions.conf
|
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-3744.17322.523 2014-11-28 14:02:40.234306614 +0200 +++ /etc/asterisk/extensions.conf 2014-11-28 14:03:02.470307321 +0200 @@ -112,10 +112,8 @@ [international] exten => _[12][123]XX,1,Dial(SIP/ny/${EXTEN}) -;exten => _5XXX,1,Dial(SIP/ny/${EXTEN}) -; ???? -; почему атланта здесь, если на 22 идёт через ny? -exten => _5XXX,1,Dial(SIP/atlanta/${EXTEN}) +exten => _5XXX,1,Dial(SIP/ny/${EXTEN}) +;exten => _5XXX,1,Dial(SIP/atlanta/${EXTEN}) [gr1] |
#scp root@192.168.50.1://etc/asterisk/extensions.conf
\ .bash_profile .config/ .l3rc .ssh/ .aptitude/ .bashrc dahdi-linux/ .lilalo/ .subversion/ .asterisk_history .cache/ .dbus/ .profile trunk/ aster-tips/ chan-datacard/ ert .pulse-cookie .viminfo .bash_history chan-dongle/ .gconf/ .rnd |
#scp root@192.168.50.1://etc/asterisk/extensions.conf example
The authenticity of host '192.168.50.1 (192.168.50.1)' can't be established. ECDSA key fingerprint is 2f:55:30:bf:42:64:f6:ec:16:a0:57:a3:f2:87:cb:69. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.50.1' (ECDSA) to the list of known hosts. root@192.168.50.1's password: extensions.conf 100% 8773 8.6KB/s 00:00 |
#cat example
; контекст плана звонков default [default] ; Dial приложение (позвонить) ; SIP/ название канала, куда его нужно перенаправить ; $ - значение переменной {EXTEN} ; создаем меню для колл-центра [menu] ; s - это специальный extentsion ; Playback не обрабатывает нажатия ; Wait тоже ... [gsm-incoming] ; ${DONGLENUMBER} -- номер на который пришёл звонок ; как сделать красивый маппинг? ; +380501234567 => 3301 ; +380502233445 => 3302 ; через базу данных: ; database set gsm-incoming +380501234567 3301 ; database set gsm-incoming +380502233445 3302 ; и используете в диалплане так: ; Dial(SIP/${DB(gsm-incoming/${DONGLENUMBER})}) |
#scp root@192.168.50.1://etc/asterisk/extensions.conf example
root@192.168.50.1's password: extensions.conf 100% 8773 8.6KB/s 00:00 |
#ls -ls
total 40 4 -rw-r--r-- 1 root root 811 Nov 26 12:03 \ 4 drwxr-xr-x 2 root root 4096 Nov 28 10:23 aster-tips 4 drwxr-xr-x 5 root root 4096 Nov 27 16:52 chan-datacard 4 drwxr-xr-x 8 root root 4096 Nov 27 16:55 chan-dongle 4 drwxr-xr-x 6 root root 4096 Nov 28 11:40 dahdi-linux 4 -rw-r--r-- 1 root root 6 Nov 26 17:03 ert 12 -rw-r--r-- 1 root root 8773 Nov 28 14:12 example 4 drwxr-xr-x 4 root root 4096 Nov 27 16:48 trunk |
#mv example aster-tips/analog_example
|
#ls -ls aster-tips/
total 16 12 -rw-r--r-- 1 root root 8773 Nov 28 14:12 analog_example 4 -rw-r--r-- 1 root root 1039 Nov 28 10:23 mapping |
; контекст плана звонков default [default] ; Dial приложение (позвонить) ; SIP/ название канала, куда его нужно перенаправить ; $ - значение переменной {EXTEN} ; создаем меню для колл-центра [menu] ; s - это специальный extentsion ; Playback не обрабатывает нажатия ; Wait тоже ; аналоги которые обрабатывают: ; Background ; WaitExten ; проигрываем приветствие и пункты меню (Background) ; с возможностью выбора (WaitExten) exten => s,1,Answer exten => s,n,Background(/var/tmp/asterisk/record01) exten => s,n,WaitExten(1) ; метка (labels), ставятся с помощью скобочек после n exten => s,n(start),Background(/var/tmp/asterisk/record02) exten => s,n,WaitExten(3) exten => s,n,Background(/var/tmp/asterisk/record03) exten => s,n,WaitExten(3) exten => s,n,Background(/var/tmp/asterisk/record04) exten => s,n,Hangup ; переходим на submenu exten => 1,1,Goto(submenu,s,1) ; при нажатии 3 - проигрываем exten => 3 (record05) "введите номер заказа" ; читаем нажатие кнопок на телефоне и пишем их в переменную ORDER exten => 3,1,Playback(/var/tmp/asterisk/record05) exten => 3,n,Read(ORDER) ; проговариваем record07 "ваш заказ №" exten => 3,n,Playback(/var/tmp/asterisk/record07) ; проговариваем переменную ORDER exten => 3,n,SayDigits(${ORDER}) ; обращение к БД из плана набора: ; ${DB(db_name/key)} ; dn_name = order в нашем случае ; key = в нашем случае введённый номер заказа ; довольно хитрая конструкция: ; $[ a = b ]? label exten => 3,n,GotoIf($["${DB(order/${ORDER})}" = ""]?unknown_order) exten => 3,n,Playback(/var/tmp/asterisk/record${DB(order/${ORDER})}) exten => 3,n,Hangup exten => 3,n(unknown_order),Playback(/var/tmp/asterisk/record08) ; если нажали цифру 4 - то переходим на вызов оператора ; попадаем на очередь (Queue), имя очереди queue1 exten => 4,1,Answer exten => 4,n,Queue(queue1) ; при нажатии на 0 на телефоне перейти на (Goto) ; Goto поддерживает три варианта описания координат: ; context,extension,label ; extension,label ; label exten => 0,1,Goto(s,start) ; неверный выбор ; i - invalid (extension) ; проиграть запись record06 "" ; подождать 2 секунды ; перейти на метку (s,start) exten => i,1,Playback(/var/tmp/asterisk/record06) exten => i,n,WaitExten(2) [submenu] exten => s,1,Background(/var/tmp/asterisk/record11) exten => s,n,WaitExten(6) exten => s,n,Background(/var/tmp/asterisk/record03) exten => s,n,WaitExten(6) exten => s,n,Background(/var/tmp/asterisk/record04) exten => s,n,Hangup ;exten => s,n,Goto(menu,s,start) ; при нажатии 1 - проигрываем exten => 1 ; при нажатии 2 - проигрываем exten => 2 exten => 1,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt) exten => 2,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) ;======= группы звонков ===== [internal] ; управление операционной системой exten => 8400,1,System(touch /tmp/someone-called-8400) exten => 8401,1,System(sh -c "echo ${CALLERID(num)} > /tmp/someone-called-8401") exten => 8402,1,System(sudo /etc/init.d/sendmail restart) ; парковка вызова, в Dial добавить опцию kK include => parkedcalls ; звонок на группу номеров exten => 2289,1,Dial(SIP/london/3201&SIP/london/3202) ; сначала записать сообщение, затем сразу его проиграть на том-же номере exten => _81XX,1,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm,3) exten => _81XX,n,Playback(/var/tmp/asterisk/record${EXTEN:2}) ;exten => _81XX,1,Record(/var/tmp/asterisk/record${EXTEN:2}:gsm) ;exten => _82XX,1,Playback(/var/tmp/asterisk/record${EXTEN:2}) ; создаем конференц комнаты ; комнаты 100-109 exten => _801X,1,MeetMe(10${EXTEN:3}) ; сразу переход на свой голосовой почтовый ящик c запросом пароля exten => _83XX,1,VoiceMailMain(22${EXTEN:2}@default) ; сразу переход на свой голосовой почтовый ящик без запроса пароля ;exten => _83XX,1,VoiceMailMain(22${EXTEN:2}@default,s) ; сразу переход на свой голосовой почтовый ящик без запроса пароля ;exten => _83XX,1,VoiceMailMain(22${EXTEN:2}@default,s) ; ; exten => 8403,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/belki.txt) exten => 8404,1,AGI(/usr/local/bin/asterisk-festival.pl,/var/tmp/burunduki.txt) ; приходящий вызов на меню exten => 8405,1,Goto(menu,s,1) ; правило регистрации Агента в астериске exten => 8407,1,AgentLogin(007) ; перенаправлени звонка на мобильный, если не подняли трубку через 5 сек ; exten => _33XX,1,Dial(SIP/${EXTEN},5) ; exten => _33XX,n,Dial(SIP/${DB(redirect/${EXTEN})}) ; только сначала нужно прописать мобильные телефоны в базе redirect: ; asterisk -rx " database put redirect 3301 +380503322117" [local] ;разрешаем трансфер номера, в Dial добавить опцию tT ; запись звонков exten => _22XX,1,NoOp(запись звонков) ; Monitor - программа записи взонков ; CALLFILENAME - новая (любая) переменная ; m - микшировать оба звуковых потока ; set- записать в переменную CALLFILENAME, все что после exten => _22XX,n,Set(CALLFILENAME=${EXTEN}-${CALLERID(num)}-${STRFTIME(${EPOCH},Europe/Kiev,"%Y-%m-%d-%H:%M:%S")}) exten => _22XX,n,Monitor(wav,${CALLFILENAME},m) exten => _22XX,n,Dial(SIP/${EXTEN},10,tTkK) ; международная конференция exten => _229X,1,NoOp(Conferences for external users) exten => _229X,n,MeetMe(10${EXTEN:3}) ; Hangup - гарантировано повесить трубку по окончанию конференции exten => _229X,n,Hangupi ; использование переменной ${EXTEN} ;exten => _22XX,1,NoOp(Starting call processing) ;exten => _22XX,n,NoOp(to extension {EXTEN}) ;exten => _22XX,n,Dial(SIP/${EXTEN},5) ; если через 5 сек не подняли трубку тогда переходим на голосовую почту ; включить головую почту, в ящик ${EXTEN} exten => _22XX,n,VoiceMail(22${EXTEN:2}@default) [national] exten => _21XX,1,Dial(SIP/ny/${EXTEN}) exten => _1XXX,1,Dial(SIP/ny/${EXTEN}) [to-pstn] ; DAHDI == название канала (chan_dahdi) ; g1 == название группы (группа 1) ; ${EXTEN} == номер телефона, на который идёт звонок ; выход на АТС через 9-ку exten => _9XXXX,1,Dial(DAHDI/g1/${EXTEN:1}) [to-pstn-external] exten => _5XXX,1,Dial(DAHDI/g1/${EXTEN}) [international] exten => _3XXX,1,Dial(SIP/london/${EXTEN}) exten => _23XX,1,Dial(SIP/london/${EXTEN}) [gr1] include => to-pstn include => internal include => local include => national include => international [gr2] include => to-pstn include => internal include => local include => national [gr3] include => to-pstn include => internal include => local ; для транзитных звонков [gr4] include => to-pstn-external include => international [from-pstn] include => internal include => local include => national include => international ; использование same ;exten => _22XX,1,NoOp(Starting call processing) ; same => n,NoOp(to extension {EXTEN}) ; same => n,Dial(SIP/${EXTEN}) [gsm-incoming] ; ${DONGLENUMBER} -- номер на который пришёл звонок ; как сделать красивый маппинг? ; +380501234567 => 3301 ; +380502233445 => 3302 ; через базу данных: ; database set gsm-incoming +380501234567 3301 ; database set gsm-incoming +380502233445 3302 ; и используете в диалплане так: ; Dial(SIP/${DB(gsm-incoming/${DONGLENUMBER})})
Время первой команды журнала | 15:11:43 2014-11-27 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 13:12:50 2014-11-28 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 13.86 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 1.98 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 2.20 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.76 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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