Журнал лабораторных работ

Содержание

Журнал

Среда (10/27/10)

/dev/pts/2
10:56:35
#ls /var/spool/asterisk/voicemail/default/22
2201/ 2295/
10:56:35
#ls /var/spool/asterisk/voicemail/default/22
2201/ 2295/
10:56:35
#ls /var/spool/asterisk/voicemail/default/2201/
INBOX/ Old/   temp/  tmp/
10:56:35
#ls /var/spool/asterisk/voicemail/default/2201/
INBOX/ Old/   temp/  tmp/
10:56:35
#ls /var/spool/asterisk/voicemail/default/2201/INBOX/
msg0000.gsm  msg0001.gsm  msg0002.gsm  msg0003.gsm  msg0004.gsm  msg0005.gsm
msg0000.txt  msg0001.txt  msg0002.txt  msg0003.txt  msg0004.txt  msg0005.txt
msg0000.wav  msg0001.wav  msg0002.wav  msg0003.wav  msg0004.wav  msg0005.wav
msg0000.WAV  msg0001.WAV  msg0002.WAV  msg0003.WAV  msg0004.WAV  msg0005.WAV
10:58:04
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-2711.15728.2326	2010-10-27 11:58:07.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 11:59:24.000000000 +0300
@@ -1,553 +1,3 @@
-; extensions.conf - the Asterisk dial plan
-;
-; Static extension configuration file, used by
-; the pbx_config module. This is where you configure all your 
-; inbound and outbound calls in Asterisk. 
-; 
-; This configuration file is reloaded 
-; - With the "dialplan reload" command in the CLI
-; - With the "reload" command (that reloads everything) in the CLI
-
-;
-; The "General" category is for certain variables.  
-;
-[general]
-;
-; If static is set to no, or omitted, then the pbx_config will rewrite
-; this file when extensions are modified.  Remember that all comments
-; made in the file will be lost when that happens. 
-;
-; XXX Not yet implemented XXX
-;
-static=yes
-;
-; if static=yes and writeprotect=no, you can save dialplan by
-; CLI command "dialplan save" too
-;
-writeprotect=no
-;
-; If autofallthrough is set, then if an extension runs out of
-; things to do, it will terminate the call with BUSY, CONGESTION
-; or HANGUP depending on Asterisk's best guess. This is the default.
-;
-; If autofallthrough is not set, then if an extension runs out of 
-; things to do, Asterisk will wait for a new extension to be dialed 
-; (this is the original behavior of Asterisk 1.0 and earlier).
-;
-;autofallthrough=no
-;
-; If clearglobalvars is set, global variables will be cleared 
-; and reparsed on an extensions reload, or Asterisk reload.
-;
-; If clearglobalvars is not set, then global variables will persist
-; through reloads, and even if deleted from the extensions.conf or
-; one of its included files, will remain set to the previous value.
-;
-; NOTE: A complication sets in, if you put your global variables into
-; the AEL file, instead of the extensions.conf file. With clearglobalvars
-; set, a "reload" will often leave the globals vars cleared, because it
-; is not unusual to have extensions.conf (which will have no globals)
-; load after the extensions.ael file (where the global vars are stored).
-; So, with "reload" in this particular situation, first the AEL file will
-; clear and then set all the global vars, then, later, when the extensions.conf
-; file is loaded, the global vars are all cleared, and then not set, because
-; they are not stored in the extensions.conf file.
-;
-clearglobalvars=no
-;
-; If priorityjumping is set to 'yes', then applications that support
-; 'jumping' to a different priority based on the result of their operations
-; will do so (this is backwards compatible behavior with pre-1.2 releases
-; of Asterisk). Individual applications can also be requested to do this
-; by passing a 'j' option in their arguments.
-;
-;priorityjumping=yes
-;
-; User context is where entries from users.conf are registered.  The
-; default value is 'default'
-;
-;userscontext=default
-;
-; You can include other config files, use the #include command
-; (without the ';'). Note that this is different from the "include" command
-; that includes contexts within other contexts. The #include command works
-; in all asterisk configuration files.
-;#include "filename.conf"
-
-; The "Globals" category contains global variables that can be referenced
-; in the dialplan with the GLOBAL dialplan function:
-; ${GLOBAL(VARIABLE)}
-; ${${GLOBAL(VARIABLE)}} or ${text${GLOBAL(VARIABLE)}} or any hybrid
-; Unix/Linux environmental variables can be reached with the ENV dialplan
-; function: ${ENV(VARIABLE)}
-;
-[globals]
-CONSOLE=Console/dsp				; Console interface for demo
-;CONSOLE=Zap/1
-;CONSOLE=Phone/phone0
-IAXINFO=guest					; IAXtel username/password
-;IAXINFO=myuser:mypass
-TRUNK=Zap/G2					; Trunk interface
-;
-; Note the 'G2' in the TRUNK variable above. It specifies which group (defined
-; in zapata.conf) to dial, i.e. group 2, and how to choose a channel to use in
-; the specified group. The four possible options are:
-;
-; g: select the lowest-numbered non-busy Zap channel
-;    (aka. ascending sequential hunt group).
-; G: select the highest-numbered non-busy Zap channel
-;    (aka. descending sequential hunt group).
-; r: use a round-robin search, starting at the next highest channel than last
-;    time (aka. ascending rotary hunt group).
-; R: use a round-robin search, starting at the next lowest channel than last
-;    time (aka. descending rotary hunt group).
-;
-TRUNKMSD=1					; MSD digits to strip (usually 1 or 0)
-;TRUNK=IAX2/user:pass@provider
-
-;
-; Any category other than "General" and "Globals" represent 
-; extension contexts, which are collections of extensions.  
-;
-; Extension names may be numbers, letters, or combinations
-; thereof. If an extension name is prefixed by a '_'
-; character, it is interpreted as a pattern rather than a
-; literal.  In patterns, some characters have special meanings:
-;
-;   X - any digit from 0-9
-;   Z - any digit from 1-9
-;   N - any digit from 2-9
-;   [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
-;   . - wildcard, matches anything remaining (e.g. _9011. matches 
-;	anything starting with 9011 excluding 9011 itself)
-;   ! - wildcard, causes the matching process to complete as soon as
-;       it can unambiguously determine that no other matches are possible
-;
-; For example the extension _NXXXXXX would match normal 7 digit dialings, 
-; while _1NXXNXXXXXX would represent an area code plus phone number
-; preceded by a one.
-;
-; Each step of an extension is ordered by priority, which must
-; always start with 1 to be considered a valid extension.  The priority
-; "next" or "n" means the previous priority plus one, regardless of whether
-; the previous priority was associated with the current extension or not.
-; The priority "same" or "s" means the same as the previously specified
-; priority, again regardless of whether the previous entry was for the
-; same extension.  Priorities may be immediately followed by a plus sign
-; and another integer to add that amount (most useful with 's' or 'n').  
-; Priorities may then also have an alias, or label, in 
-; parenthesis after their name which can be used in goto situations
-;
-; Contexts contain several lines, one for each step of each
-; extension, which can take one of two forms as listed below,
-; with the first form being preferred. 
-;
-;[context]
-;exten => someexten,{priority|label{+|-}offset}[(alias)],application(arg1,arg2,...)
-;exten => someexten,{priority|label{+|-}offset}[(alias)],application,arg1|arg2...
-;
-; Included Contexts
-;
-; One may include another context in the current one as well, optionally with a
-; date and time.  Included contexts are included in the order
-; they are listed.
-; The reason a context would include other contexts is for their 
-; extensions.
-; The algorithm to find an extension is recursive, and works in this
-; fashion: 
-;	 first, given a stack on which to store context references, 
-;           push the context to find the extension onto the stack...
-;    a) Try to find a matching extension in the context at the top of 
-;       the stack, and, if found, begin executing the priorities
-;       there in sequence.
-;    b) If not found, Search the switches, if any declared, in
-;       sequence.
-;    c) If still not found, for each include, push that context onto 
-;       the top of the context stack, and recurse to a).
-;    d) If still not found, pop the entry from the top of the stack; 
-;       if the stack is empty, the search has failed. If it's not, 
-;       continue with the next context in c).
-; This is a depth-first traversal, and stops with the first context 
-; that provides a matching extension. As usual, if more than one
-; pattern in a context will match, the 'best' match will win.
-; Please note that that extensions found in an included context are
-; treated as if they were in the context from which the search began.
-; The PBX's notion of the "current context" is not changed.
-; Please note that in a context, it does not matter where an include
-; directive occurs. Whether at the top, or near the bottom, the effect 
-; will be the same. The only thing that matters is that if there is 
-; more than one include directive, they will be searched for extensions 
-; in order, first to last.
-; Also please note that pattern matches (like _9XX) are not treated
-; any differently than exact matches (like 987). Also note that the
-; order of extensions in a context have no affect on the outcome.
-;
-; Timing list for includes is 
-;
-;   <time range>|<days of week>|<days of month>|<months>
-;
-; Note that ranges may be specified to wrap around the ends.  Also, minutes are
-; fine-grained only down to the closest even minute.
-;
-;include => daytime|9:00-17:00|mon-fri|*|*
-;include => weekend|*|sat-sun|*|*
-;include => weeknights|17:02-8:58|mon-fri|*|*
-;
-; ignorepat can be used to instruct drivers to not cancel dialtone upon
-; receipt of a particular pattern.  The most commonly used example is
-; of course '9' like this:
-;
-;ignorepat => 9
-;
-; so that dialtone remains even after dialing a 9.
-;
-
-;
-; Sample entries for extensions.conf
-;
-;
-[dundi-e164-canonical]
-;
-; List canonical entries here
-;
-;exten => 12564286000,1,Macro(stdexten,6000,IAX2/foo)
-;exten => _125642860XX,1,Dial(IAX2/otherbox/${EXTEN:7})
-
-[dundi-e164-customers]
-;
-; If you are an ITSP or Reseller, list your customers here.
-;
-;exten => _12564286000,1,Dial(SIP/customer1)
-;exten => _12564286001,1,Dial(IAX2/customer2)
-
-[dundi-e164-via-pstn]
-;
-; If you are freely delivering calls to the PSTN, list them here
-;
-;exten => _1256428XXXX,1,Dial(Zap/G2/${EXTEN:7}) ; Expose all of 256-428 
-;exten => _1256325XXXX,1,Dial(Zap/G2/${EXTEN:7}) ; Ditto for 256-325
-
-[dundi-e164-local]
-;
-; Context to put your dundi IAX2 or SIP user in for
-; full access
-;
-include => dundi-e164-canonical
-include => dundi-e164-customers
-include => dundi-e164-via-pstn
-
-[dundi-e164-switch]
-;
-; Just a wrapper for the switch
-;
-switch => DUNDi/e164
-
-[dundi-e164-lookup]
-;
-; Locally to lookup, try looking for a local E.164 solution
-; then try DUNDi if we don't have one.
-;
-include => dundi-e164-local
-include => dundi-e164-switch
-;
-; DUNDi can also be implemented as a Macro instead of using 
-; the Local channel driver. 
-;
-[macro-dundi-e164]
-;
-; ARG1 is the extension to Dial
-;
-; Extension "s" is not a wildcard extension that matches "anything".
-; In macros, it is the start extension. In most other cases, 
-; you have to goto "s" to execute that extension.
-;
-; For wildcard matches, see above - all pattern matches start with
-; an underscore.
-exten => s,1,Goto(${ARG1},1)
-include => dundi-e164-lookup
-
-;
-; Here are the entries you need to participate in the IAXTEL
-; call routing system.  Most IAXTEL numbers begin with 1-700, but
-; there are exceptions.  For more information, and to sign
-; up, please go to www.gnophone.com or www.iaxtel.com
-;
-[iaxtel700]
-exten => _91700XXXXXXX,1,Dial(IAX2/${GLOBAL(IAXINFO)}@iaxtel.com/${EXTEN:1}@iaxtel)
-
-;
-; The SWITCH statement permits a server to share the dialplan with
-; another server. Use with care: Reciprocal switch statements are not
-; allowed (e.g. both A -> B and B -> A), and the switched server needs
-; to be on-line or else dialing can be severly delayed.
-;
-[iaxprovider]
-;switch => IAX2/user:[key]@myserver/mycontext
-
-[trunkint]
-;
-; International long distance through trunk
-;
-exten => _9011.,1,Macro(dundi-e164,${EXTEN:4})
-exten => _9011.,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
-
-[trunkld]
-;
-; Long distance context accessed through trunk
-;
-exten => _91NXXNXXXXXX,1,Macro(dundi-e164,${EXTEN:1})
-exten => _91NXXNXXXXXX,n,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
-
-[trunklocal]
-;
-; Local seven-digit dialing accessed through trunk interface
-;
-exten => _9NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
-
-[trunktollfree]
-;
-; Long distance context accessed through trunk interface
-;
-exten => _91800NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
-exten => _91888NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
-exten => _91877NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
-exten => _91866NXXXXXX,1,Dial(${GLOBAL(TRUNK)}/${EXTEN:${GLOBAL(TRUNKMSD)}})
-
-[international]
-;
-; Master context for international long distance
-;
-ignorepat => 9
-include => longdistance
-include => trunkint
-
-[longdistance]
-;
-; Master context for long distance
-;
-ignorepat => 9
-include => local
-include => trunkld
-
-[local]
-;
-; Master context for local, toll-free, and iaxtel calls only
-;
-ignorepat => 9
-include => default
-include => trunklocal
-include => iaxtel700
-include => trunktollfree
-include => iaxprovider
-
-;Include parkedcalls (or the context you define in features conf)
-;to enable call parking.
-include => parkedcalls
-;
-; You can use an alternative switch type as well, to resolve
-; extensions that are not known here, for example with remote 
-; IAX switching you transparently get access to the remote
-; Asterisk PBX
-; 
-; switch => IAX2/user:password@bigserver/local
-;
-; An "lswitch" is like a switch but is literal, in that
-; variable substitution is not performed at load time
-; but is passed to the switch directly (presumably to
-; be substituted in the switch routine itself)
-;
-; lswitch => Loopback/12${EXTEN}@othercontext
-;
-; An "eswitch" is like a switch but the evaluation of
-; variable substitution is performed at runtime before
-; being passed to the switch routine.
-;
-; eswitch => IAX2/context@${CURSERVER}
-
-[macro-trunkdial]
-;
-; Standard trunk dial macro (hangs up on a dialstatus that should 
-; terminate call)
-;   ${ARG1} - What to dial
-;
-exten => s,1,Dial(${ARG1})
-exten => s,n,Goto(s-${DIALSTATUS},1)
-exten => s-NOANSWER,1,Hangup
-exten => s-BUSY,1,Hangup
-exten => _s-.,1,NoOp
-
-[macro-stdexten];
-;
-; Standard extension macro:
-;   ${ARG1} - Extension  (we could have used ${MACRO_EXTEN} here as well
-;   ${ARG2} - Device(s) to ring
-;
-exten => s,1,Dial(${ARG2},20)			; Ring the interface, 20 seconds maximum
-exten => s,2,Goto(s-${DIALSTATUS},1)		; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
-
-exten => s-NOANSWER,1,Voicemail(${ARG1},u)	; If unavailable, send to voicemail w/ unavail announce
-exten => s-NOANSWER,2,Goto(default,s,1)		; If they press #, return to start
-
-exten => s-BUSY,1,Voicemail(${ARG1},b)		; If busy, send to voicemail w/ busy announce
-exten => s-BUSY,2,Goto(default,s,1)		; If they press #, return to start
-
-exten => _s-.,1,Goto(s-NOANSWER,1)		; Treat anything else as no answer
-
-exten => a,1,VoicemailMain(${ARG1})		; If they press *, send the user into VoicemailMain
-
-[macro-stdPrivacyexten];
-;
-; Standard extension macro:
-;   ${ARG1} - Extension  (we could have used ${MACRO_EXTEN} here as well
-;   ${ARG2} - Device(s) to ring
-;   ${ARG3} - Optional DONTCALL context name to jump to (assumes the s,1 extension-priority)
-;   ${ARG4} - Optional TORTURE context name to jump to (assumes the s,1 extension-priority)`
-;
-exten => s,1,Dial(${ARG2},20|p)			; Ring the interface, 20 seconds maximum, call screening 
-						; option (or use P for databased call screening)
-exten => s,2,Goto(s-${DIALSTATUS},1)		; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)
-
-exten => s-NOANSWER,1,Voicemail(${ARG1},u)	; If unavailable, send to voicemail w/ unavail announce
-exten => s-NOANSWER,2,Goto(default,s,1)		; If they press #, return to start
-
-exten => s-BUSY,1,Voicemail(${ARG1},b)		; If busy, send to voicemail w/ busy announce
-exten => s-BUSY,2,Goto(default,s,1)		; If they press #, return to start
-
-exten => s-DONTCALL,1,Goto(${ARG3},s,1)		; Callee chose to send this call to a polite "Don't call again" script.
-
-exten => s-TORTURE,1,Goto(${ARG4},s,1)		; Callee chose to send this call to a telemarketer torture script.
-
-exten => _s-.,1,Goto(s-NOANSWER,1)		; Treat anything else as no answer
-
-exten => a,1,VoicemailMain(${ARG1})		; If they press *, send the user into VoicemailMain
-
-[macro-page];
-;
-; Paging macro:
-;
-;       Check to see if SIP device is in use and DO NOT PAGE if they are
-;
-;   ${ARG1} - Device to page
-
-exten => s,1,ChanIsAvail(${ARG1}|js)			; j is for Jump and s is for ANY call
-exten => s,n,GoToIf([${AVAILSTATUS} = "1"]?autoanswer:fail)
-exten => s,n(autoanswer),Set(_ALERT_INFO="RA")			; This is for the PolyComs
-exten => s,n,SIPAddHeader(Call-Info: Answer-After=0)	; This is for the Grandstream, Snoms, and Others
-exten => s,n,NoOp()					; Add others here and Post on the Wiki!!!!
-exten => s,n,Dial(${ARG1}||)
-exten => s,n(fail),Hangup
-
-
-[demo]
-;
-; We start with what to do when a call first comes in.
-;
-exten => s,1,Wait(1)			; Wait a second, just for fun
-exten => s,n,Answer			; Answer the line
-exten => s,n,Set(TIMEOUT(digit)=5)	; Set Digit Timeout to 5 seconds
-exten => s,n,Set(TIMEOUT(response)=10)	; Set Response Timeout to 10 seconds
-exten => s,n(restart),BackGround(demo-congrats)	; Play a congratulatory message
-exten => s,n(instruct),BackGround(demo-instruct)	; Play some instructions
-exten => s,n,WaitExten			; Wait for an extension to be dialed.
-
-exten => 2,1,BackGround(demo-moreinfo)	; Give some more information.
-exten => 2,n,Goto(s,instruct)
-
-exten => 3,1,Set(LANGUAGE()=fr)		; Set language to french
-exten => 3,n,Goto(s,restart)		; Start with the congratulations
-
-exten => 1000,1,Goto(default,s,1)
-;
-; We also create an example user, 1234, who is on the console and has
-; voicemail, etc.
-;
-exten => 1234,1,Playback(transfer,skip)		; "Please hold while..." 
-					; (but skip if channel is not up)
-exten => 1234,n,Macro(stdexten,1234,${GLOBAL(CONSOLE)})
-
-exten => 1235,1,Voicemail(1234,u)		; Right to voicemail
-
-exten => 1236,1,Dial(Console/dsp)		; Ring forever
-exten => 1236,n,Voicemail(1234,b)		; Unless busy
-
-;
-; # for when they're done with the demo
-;
-exten => #,1,Playback(demo-thanks)	; "Thanks for trying the demo"
-exten => #,n,Hangup			; Hang them up.
-
-;
-; A timeout and "invalid extension rule"
-;
-exten => t,1,Goto(#,1)			; If they take too long, give up
-exten => i,1,Playback(invalid)		; "That's not valid, try again"
-
-;
-; Create an extension, 500, for dialing the
-; Asterisk demo.
-;
-exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
-exten => 500,n,Dial(IAX2/guest@pbx.digium.com/s@default)	; Call the Asterisk demo
-exten => 500,n,Playback(demo-nogo)	; Couldn't connect to the demo site
-exten => 500,n,Goto(s,6)		; Return to the start over message.
-
-;
-; Create an extension, 600, for evaluating echo latency.
-;
-exten => 600,1,Playback(demo-echotest)	; Let them know what's going on
-exten => 600,n,Echo			; Do the echo test
-exten => 600,n,Playback(demo-echodone)	; Let them know it's over
-exten => 600,n,Goto(s,6)		; Start over
-
-;
-;	You can use the Macro Page to intercom a individual user
-exten => 76245,1,Macro(page,SIP/Grandstream1)
-; or if your peernames are the same as extensions
-exten => _7XXX,1,Macro(page,SIP/${EXTEN})
-;
-;
-; System Wide Page at extension 7999
-;
-exten => 7999,1,Set(TIMEOUT(absolute)=60)
-exten => 7999,2,Page(Local/Grandstream1@page&Local/Xlite1@page&Local/1234@page/n|d)
-
-; Give voicemail at extension 8500
-;
-exten => 8500,1,VoicemailMain
-exten => 8500,n,Goto(s,6)
-;
-; Here's what a phone entry would look like (IXJ for example)
-;
-;exten => 1265,1,Dial(Phone/phone0,15)
-;exten => 1265,n,Goto(s,5)
-
-;
-;	The page context calls up the page macro that sets variables needed for auto-answer
-;	It is in is own context to make calling it from the Page() application as simple as 
-;	Local/{peername}@page
-;
-[page]
-exten => _X.,1,Macro(page,SIP/${EXTEN})
-
-;[mainmenu]
-;
-; Example "main menu" context with submenu
-;
-;exten => s,1,Answer
-;exten => s,n,Background(thanks)		; "Thanks for calling press 1 for sales, 2 for support, ..."
-;exten => s,n,WaitExten
-;exten => 1,1,Goto(submenu,s,1)
-;exten => 2,1,Hangup
-;include => default
-;
-;[submenu]
-;exten => s,1,Ringing					; Make them comfortable with 2 seconds of ringback
-;exten => s,n,Wait,2
-;exten => s,n,Background(submenuopts)	; "Thanks for calling the sales department.  Press 1 for steve, 2 for..."
-;exten => s,n,WaitExten
-;exten => 1,1,Goto(default,steve,1)
-;exten => 2,1,Goto(default,mark,2)
-
 [default]
 exten =>2299,1,Answer
 exten =>2299,n,Wait(1)
10:59:24
#vi /etc/asterisk/extensions.conf
10:59:41
#vi /etc/asterisk/extensions.conf
прошло 11 минут
/dev/pts/4
11:11:03
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
Connected to Asterisk 1.4.21.2~dfsg-3+lenny1 currently running on linux12 (pid = 3526)
Verbosity is at least 16
    -- <SIP/2202-088aded8> Playing 'vm-password' (language 'en')
[Oct 27 12:11:15] WARNING[4711]: app_voicemail.c:6403 vm_authenticate: Unable to read password
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
11:12:58
#vi /etc/asterisk/sip.conf
--- /tmp/l3-saved-4771.7270.32679	2010-10-27 12:13:30.000000000 +0300
+++ /etc/asterisk/sip.conf	2010-10-27 12:14:36.000000000 +0300
@@ -17,6 +17,7 @@
 host=dynamic
 callerid="Andrey_2201"
 context=group1                 ; group1 context for incoming calls
+canreinvite=no
 
 [2202]
 type=friend
@@ -28,7 +29,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
-
+canreinvite=no
 
 [2203]
 type=friend
@@ -40,6 +41,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
+canreinvite=no
 
 [2204]
 type=friend
@@ -51,6 +53,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
+canreinvite=no
 
 [2205]
 type=friend
@@ -62,6 +65,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
+canreinvite=no
 
 [bb]
 type=friend
11:14:36
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
  == Spawn extension (group3, 2203, 3) exited non-zero on 'SIP/2202-088aded8'
    -- Executing [2203@group3:1] Dial("SIP/2202-088aded8", "SIP/2203|3") in new stack
    -- Called 2203
    -- SIP/2203-088a8960 is ringing
    -- SIP/2203-088a8960 answered SIP/2202-088aded8
    -- Packet2Packet bridging SIP/2202-088aded8 and SIP/2203-088a8960
  == Spawn extension (group3, 2203, 1) exited non-zero on 'SIP/2202-088aded8'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
11:15:58
#vi /etc/asterisk/sip.conf
--- /tmp/l3-saved-4771.30346.264	2010-10-27 12:16:00.000000000 +0300
+++ /etc/asterisk/sip.conf	2010-10-27 12:20:11.000000000 +0300
@@ -17,7 +17,7 @@
 host=dynamic
 callerid="Andrey_2201"
 context=group1                 ; group1 context for incoming calls
-canreinvite=no
+;canreinvite=no
 
 [2202]
 type=friend
@@ -29,7 +29,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
-canreinvite=no
+;canreinvite=no
 
 [2203]
 type=friend
@@ -41,7 +41,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
-canreinvite=no
+;canreinvite=no
 
 [2204]
 type=friend
@@ -53,7 +53,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
-canreinvite=no
+;canreinvite=no
 
 [2205]
 type=friend
@@ -65,7 +65,7 @@
 allow=gsm
 allow=ulaw
 allow=alaw
-canreinvite=no
+;canreinvite=no
 
 [bb]
 type=friend
11:20:11
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
SIP Debugging Disabled
The 'sip no debug' command is deprecated and will be removed in a future release. Please use 'sip set debug off' instead.
    -- Executing [2201@default:1] Dial("SIP/mn-088a9ef0", "SIP/2201|1") in new stack
    -- Called 2201
    -- SIP/2201-088bd8b0 is ringing
    -- Nobody picked up in 1000 ms
  == Auto fallthrough, channel 'SIP/mn-088a9ef0' status is 'NOANSWER'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
11:25:36
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Including context 'service' in context 'group3'
  == Parsing '/etc/asterisk/users.conf': Found
    -- Executing [2201@default:1] Dial("SIP/mn-088a8960", "SIP/2201|1") in new stack
    -- Called 2201
    -- SIP/2201-088b87b0 is ringing
    -- Nobody picked up in 1000 ms
  == Auto fallthrough, channel 'SIP/mn-088a8960' status is 'NOANSWER'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
11:26:13
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-4771.9079.21323	2010-10-27 12:26:15.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 12:27:53.000000000 +0300
@@ -14,9 +14,9 @@
 exten => _68XX,n,Dial(SIP/22${EXTEN:2})
 
 
-exten =>2201,1,Dial(SIP/2201,1)
-exten =>2204,n,Dial(SIP/2202,1)
-exten =>2205,n,Dial(SIP/2204)
+;exten =>2201,1,Dial(SIP/2201,1)
+;exten =>2204,n,Dial(SIP/2202,1)
+;exten =>2205,n,Dial(SIP/2204)
 
 
 ;exten =>2202,1,Dial(SIP/2202)
@@ -56,7 +56,7 @@
 exten => _19XX,1,Macro(dial-with-callerid,SIP/gm/${EXTEN})
 exten => _20XX,1,Macro(dial-with-callerid,SIP/br/${EXTEN})
 exten => _21XX,1,Macro(dial-with-callerid,SIP/bb/${EXTEN})
-exten => _22XX,n,Voicemail(${EXTEN}@default)
+exten => _22XX,1,Voicemail(${EXTEN}@default)
 
 ;exten =>_19XX,1,Dial(SIP/gm/${EXTEN})
 ;exten =>_20XX,1,Dial(SIP/br/${EXTEN})
11:29:19
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-4771.25025.15002	2010-10-27 12:29:21.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 12:37:22.000000000 +0300
@@ -6,8 +6,8 @@
 
 ;exten => 2297,1,Playback(/tmp/warning1)
 
-exten => _22XX,1,Dial(SIP/${EXTEN})
-exten => _22XXX,1,Dial(SIP/1${EXTEN:1:4})
+;exten => _22XX,1,Dial(SIP/${EXTEN})
+;exten => _22XXX,1,Dial(SIP/1${EXTEN:1:4})
 
 exten => _68XX,1,Wait(2)
 exten => _68XX,n,Playback(/tmp/warning1)
@@ -56,7 +56,9 @@
 exten => _19XX,1,Macro(dial-with-callerid,SIP/gm/${EXTEN})
 exten => _20XX,1,Macro(dial-with-callerid,SIP/br/${EXTEN})
 exten => _21XX,1,Macro(dial-with-callerid,SIP/bb/${EXTEN})
-exten => _22XX,1,Voicemail(${EXTEN}@default)
+exten =>_22XX,1,Dial(SIP/${EXTEN},3)
+exten =>_22XX,n,Voicemail(${EXTEN}@default)
+exten => 2296,1,VoiceMailMain()
 
 ;exten =>_19XX,1,Dial(SIP/gm/${EXTEN})
 ;exten =>_20XX,1,Dial(SIP/br/${EXTEN})
прошло 12 минут
11:41:50
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-4771.24273.10216	2010-10-27 12:45:25.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 12:51:06.000000000 +0300
@@ -20,10 +20,10 @@
 
 
 ;exten =>2202,1,Dial(SIP/2202)
-exten =>2203,1,Dial(SIP/2203)
-exten =>2204,1,Dial(SIP/2204)
-exten =>2205,1,Dial(SIP/2205)
-exten =>2201,1,Dial(SIP/2201)
+;exten =>2203,1,Dial(SIP/2203)
+;exten =>2204,1,Dial(SIP/2204)
+;exten =>2205,1,Dial(SIP/2205)
+;exten =>2201,1,Dial(SIP/2201)
 
 exten =>_22XX,1,Dial(SIP/${EXTEN},3)
 exten =>_22XX,n,Voicemail(${EXTEN}@default)
11:51:06
#vi /etc/asterisk/sip.conf
--- /tmp/l3-saved-4771.9550.14226	2010-10-27 12:53:10.000000000 +0300
+++ /etc/asterisk/sip.conf	2010-10-27 12:54:04.000000000 +0300
@@ -18,6 +18,7 @@
 callerid="Andrey_2201"
 context=group1                 ; group1 context for incoming calls
 ;canreinvite=no
+mailbox=2201 
 
 [2202]
 type=friend
11:54:04
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-4771.3265.24598	2010-10-27 12:55:04.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 13:03:10.000000000 +0300
@@ -26,7 +26,11 @@
 ;exten =>2201,1,Dial(SIP/2201)
 
 exten =>_22XX,1,Dial(SIP/${EXTEN},3)
+exten =>_22XX,n,GotoIf($[${DIALSTATUS} = BUSY]?busy:unavail)
+exten =>_22XX,n(unavail),Playback(/tmp/voicemail-greeting${EXTEN})
 exten =>_22XX,n,Voicemail(${EXTEN}@default)
+exten =>_22XX,n(busy),Hangup
+
 exten => 2296,1,VoiceMailMain()
 ;exten => 2298,1,Record(/tmp/warning1:gsm,,3)
 ;in Belorussia
прошло 50 минут
/dev/pts/0
12:44:25
#vi /etc/asterisk/extensions.conf
12:47:15
#;exten =>2202,1,Dial(SIP/2202)
context=group2e
disallow=all
allow=alaw
[2204]
type=friend
[2204]r lines
[2204]ynamic
callerid="Andrey_2201"
context=group1
allow=gsm
...
[2205]
host=dynamic
callerid="Andrey_2201"
disallow=all
allow=gsm
allow=ulaw
allow=alaw
;canreinvite=no
[bb]
"/etc/asterisk/sip.conf" 77L, 1370C written
12:48:11
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [2298@group1:2] VoiceMail("SIP/2201-088aeaa0", "2298@default") in new stack
[Oct 27 13:48:29] WARNING[5711]: app_voicemail.c:2862 leave_voicemail: No entry in voicemail config file for '2298'
    -- Executing [2298@group1:3] Hangup("SIP/2201-088aeaa0", "") in new stack
  == Spawn extension (group1, 2298, 3) exited non-zero on 'SIP/2201-088aeaa0'
linux12*CLI> \q
No such command '\q' (type 'help q' for other possible commands)
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
12:48:59
#vi /etc/asterisk/sip.conf
12:49:05
#[2202]

12:49:15
#~
[macro-dial-with-callerid]
exten => s,n,Dial(${ARG1})
[local]
[local]
;exten =>_22XX,n,Playback(/tmp/voicemail-greeting-${EXTEN})
exten =>_22XX,n,Voicemail(${EXTEN}@default)
exten =>_22XX,n,Hangup
exten => 2296,1,VoiceMailMain()
;exten => 2298,1,Record(/tmp/warning1:gsm,,3)
;exten => 2297,1,Playback(/tmp/warning1)
...
           0
           0
exten => 2295,1,Record(/tmp/voicemail-greeting-${CALLERID(number)})
exten => 2298,1,Record(/tmp/warning1:gsm,,3)
[xten =>]2297,1,Playback(/tmp/warning1)
[national]
[        ]
[        ]
exten => _20XX,1,Macro(dial-with-callerid,SIP/br/${EXTEN})
"/etc/asterisk/extensions.conf" 88L, 2321C written{EXTEN})
12:51:25
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- SIP/bb-088a8d50 is circuit-busy
  == Everyone is busy/congested at this time (1:0/1/0)
  == Auto fallthrough, channel 'SIP/2201-088b2ce8' status is 'CONGESTION'
    -- Executing [2201@group2:1] Dial("SIP/2203-088b2ce8", "SIP/2201|3") in new stack
    -- Called 2201
    -- SIP/2201-088a8d50 is ringing
  == Spawn extension (group2, 2201, 1) exited non-zero on 'SIP/2203-088b2ce8'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
12:53:01
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-5599.17892.15684	2010-10-27 13:53:02.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 13:55:36.000000000 +0300
@@ -32,7 +32,7 @@
 exten =>_220X,n(busy),Hangup
 
 exten => 2296,1,VoiceMailMain()
-;exten => 2298,1,Record(/tmp/warning1:gsm,,3)
+exten => 2298,1,Record(/tmp/warning1:gsm,,3)
 ;in Belorussia
 ;exten =>_19XX,1,Dial(SIP/gm/${EXTEN})
 ;exten =>_20XX,1,Dial(SIP/br/${EXTEN})
12:55:55
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-5599.26807.4802	2010-10-27 13:55:56.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 13:58:03.000000000 +0300
@@ -51,7 +51,7 @@
 exten =>_220X,n,Voicemail(${EXTEN}@default)
 exten =>_220X,n,Hangup 
 exten => 2296,1,VoiceMailMain()
-;exten => 2298,1,Record(/tmp/warning1:gsm,,3)
+exten => 2298,1,Record(/tmp/warning1:gsm,,3)
 ;exten => 2297,1,Playback(/tmp/warning1)
 
 [service]
12:58:23
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-5599.7548.10086	2010-10-27 13:58:27.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 13:59:42.000000000 +0300
@@ -27,7 +27,8 @@
 
 exten =>_220X,1,Dial(SIP/${EXTEN},3)
 exten =>_220X,n,GotoIf($[${DIALSTATUS} = BUSY]?busy:unavail)
-exten =>_220X,n(unavail),Playback(/tmp/voicemail-greeting${EXTEN})
+exten =>_220X,n(unavail),Playback(/tmp/warning1})
+;exten =>_220X,n(unavail),Playback(/tmp/voicemail-greeting${EXTEN})
 exten =>_220X,n,Voicemail(${EXTEN}@default)
 exten =>_220X,n(busy),Hangup
 
12:59:59
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-5599.19188.24519	2010-10-27 14:00:00.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 14:03:07.000000000 +0300
@@ -27,7 +27,7 @@
 
 exten =>_220X,1,Dial(SIP/${EXTEN},3)
 exten =>_220X,n,GotoIf($[${DIALSTATUS} = BUSY]?busy:unavail)
-exten =>_220X,n(unavail),Playback(/tmp/warning1})
+exten =>_220X,n(unavail),Playback(/tmp/warning1.gsm)
 ;exten =>_220X,n(unavail),Playback(/tmp/voicemail-greeting${EXTEN})
 exten =>_220X,n,Voicemail(${EXTEN}@default)
 exten =>_220X,n(busy),Hangup
/dev/pts/4
13:01:56
#ls /tmp/warning1.gsm
/tmp/warning1.gsm
13:02:08
#ls -lah /tmp/warning1.gsm
-rw-r----- 1 asterisk asterisk 5.1K 2010-10-27 13:58 /tmp/warning1.gsm
13:02:13
#ls /tmp/warning1.gsm
/tmp/warning1.gsm
/dev/pts/0
13:03:07
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-5599.17065.6434	2010-10-27 14:03:37.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 14:06:48.000000000 +0300
@@ -33,7 +33,7 @@
 exten =>_220X,n(busy),Hangup
 
 exten => 2296,1,VoiceMailMain()
-exten => 2298,1,Record(/tmp/warning1:gsm,,3)
+exten => 2298,1,Record(/tmp/warning1:ulaw,,4)
 ;in Belorussia
 ;exten =>_19XX,1,Dial(SIP/gm/${EXTEN})
 ;exten =>_20XX,1,Dial(SIP/br/${EXTEN})
/dev/pts/2
13:06:02
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Executing [2201@default:3] Playback("SIP/mn-088ad510", "/tmp/warning1.gsm") in new stack
[Oct 27 14:06:12] WARNING[6096]: file.c:602 ast_openstream_full: File /tmp/warning1.gsm does not exist in any format
[Oct 27 14:06:12] WARNING[6096]: file.c:912 ast_streamfile: Unable to open /tmp/warning1.gsm (format 0x4 (ulaw)): No such file or directory
[Oct 27 14:06:12] WARNING[6096]: app_playback.c:439 playback_exec: ast_streamfile failed on SIP/mn-088ad510 for /tmp/warning1.gsm
    -- Executing [2201@default:4] VoiceMail("SIP/mn-088ad510", "2201@default") in new stack
    -- <SIP/mn-088ad510> Playing 'vm-intro' (language 'en')
  == Spawn extension (default, 2201, 4) exited non-zero on 'SIP/mn-088ad510'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
/dev/pts/0
13:07:54
#ls /tmp/
.ICE-unix/    lost+found/   warning1.gsm  .X11-unix/
13:07:54
#ls /tmp/
.ICE-unix/     lost+found/    warning1.gsm   warning1.ulaw  .X11-unix/
13:07:54
#ls -lah /tmp/warning1.ulaw
-rw-r----- 1 asterisk asterisk 14K 2010-10-27 14:09 /tmp/warning1.ulaw
/dev/pts/2
13:08:41
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Registered extension context 'group3'
    -- Including context 'local' in context 'group3'
    -- Including context 'service' in context 'group3'
  == Parsing '/etc/asterisk/users.conf': Found
    -- Executing [2298@group1:1] Record("SIP/2201-088b2ce8", "/tmp/warning1:ulaw||3") in new stack
    -- <SIP/2201-088b2ce8> Playing 'beep' (language 'en')
  == Spawn extension (group1, 2298, 1) exited non-zero on 'SIP/2201-088b2ce8'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
13:09:08
#ls /tmp/
.ICE-unix/     lost+found/    warning1.gsm   warning1.ulaw  .X11-unix/
13:09:08
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6057.10928.20156	2010-10-27 14:09:33.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 14:09:45.000000000 +0300
@@ -27,7 +27,7 @@
 
 exten =>_220X,1,Dial(SIP/${EXTEN},3)
 exten =>_220X,n,GotoIf($[${DIALSTATUS} = BUSY]?busy:unavail)
-exten =>_220X,n(unavail),Playback(/tmp/warning1.gsm)
+exten =>_220X,n(unavail),Playback(/tmp/warning1.ulaw)
 ;exten =>_220X,n(unavail),Playback(/tmp/voicemail-greeting${EXTEN})
 exten =>_220X,n,Voicemail(${EXTEN}@default)
 exten =>_220X,n(busy),Hangup
прошло 14 минут
/dev/pts/0
13:23:18
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Executing [2201@default:1] Dial("SIP/mn-088b1758", "SIP/2201|3") in new stack
    -- Called 2201
    -- SIP/2201-088b87b0 is ringing
    -- SIP/2201-088b87b0 answered SIP/mn-088b1758
    -- Native bridging SIP/mn-088b1758 and SIP/2201-088b87b0
  == Spawn extension (default, 2201, 1) exited non-zero on 'SIP/mn-088b1758'
[Oct 27 14:23:52] NOTICE[3555]: chan_sip.c:14668 handle_request_invite: Unable to create/find SIP channel for this INVITE
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
13:23:55
#ls /var/spool/
asterisk/      cron/          cups/          exim4/         lpd/           mail/          mqueue/        mqueue-client/ pop/
13:23:55
#ls /var/spool/asterisk/
dictate/   meetme/    monitor/   outgoing/  system/    tmp/       voicemail/
13:23:55
#ls /var/spool/asterisk/monitor/

13:26:58
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Executing [2201@group3:1] Answer("SIP/2202-088b2ce8", "") in new stack
    -- Executing [2201@group3:2] Monitor("SIP/2202-088b2ce8", "wav|m|voice-2201-2202") in new stack
    -- Executing [2201@group3:3] Dial("SIP/2202-088b2ce8", "SIP/2201|3") in new stack
    -- Called 2201
    -- SIP/2201-088b88e8 is ringing
    -- SIP/2201-088b88e8 answered SIP/2202-088b2ce8
  == Spawn extension (group3, 2201, 3) exited non-zero on 'SIP/2202-088b2ce8'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
13:27:28
#ls /var/l
lib/        local/      lock/       log/        lost+found/
13:27:28
#ls /var/spool/asterisk/
dictate/   meetme/    monitor/   outgoing/  system/    tmp/       voicemail/
13:27:28
#ls /var/spool/asterisk/monitor/m-
m-in.wav   m-out.wav
13:35:28
#apt-get install samba
Reading package lists... Done
Building dependency tree
Package configuration
 ┌────────────────────────────────────────────────────────────────────┤ Samba Server ├─────────────────────────────────────────────────────────â
 │                                                                                                                                                        │
 │ If your computer gets IP address information from a DHCP server on the network, the DHCP server may also provide information about WINS servers        │
 │ ("NetBIOS name servers") present on the network.  This requires a change to your smb.conf file so that DHCP-provided WINS settings will automatically  │
 │ be read from /etc/samba/dhcp.conf.                                                                                                                     │
 │                                                                                                                                                        │
 │ The dhcp3-client package must be installed to take advantage of this feature.                                                                          │
...
Importing account for messagebus...ok
Importing account for haldaemon...ok
Importing account for asterisk...ok
Importing account for bind...ok
Importing account for smmta...ok
Importing account for smmsp...ok
Importing account for user...ok
Adding group `sambashare' (GID 113) ...
Done.
Starting Samba daemons: nmbd smbd.
/dev/pts/2
13:40:10
#apt-get install libsox-fmt-mp3
E: Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
13:40:28
#/etc/init.d/samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
/dev/pts/0
13:41:40
#vi /etc/samba/smb.conf
--- /tmp/l3-saved-5599.12367.22459	2010-10-27 14:42:07.000000000 +0300
+++ /etc/samba/smb.conf	2010-10-27 14:43:35.000000000 +0300
@@ -323,4 +323,7 @@
 #
 ;   preexec = /bin/mount /cdrom
 ;   postexec = /bin/umount /cdrom
+[monitor]
+path=/var/spool/asterisk/monitor
+read only = yes
 
13:43:35
#man addgroup
/dev/pts/2
13:47:15
#ls -lah /var/spool/asterisk/
dictate/   meetme/    monitor/   outgoing/  system/    tmp/       voicemail/
13:47:15
#ls -lah /var/spool/asterisk/monitor/
m-in.wav             m-out.wav            voice-2201-2202.wav
13:47:15
#ls -lah /var/spool/asterisk/monitor/
total 172K
drwxr-x--- 2 asterisk asterisk 4.0K 2010-10-27 14:39 .
drwxr-x--- 9 asterisk asterisk 4.0K 2010-10-25 16:53 ..
-rw-r----- 1 asterisk asterisk 9.5K 2010-10-27 14:34 m-in.wav
-rw-r----- 1 asterisk asterisk  72K 2010-10-27 14:34 m-out.wav
-rw-rw---- 1 asterisk asterisk  71K 2010-10-27 14:39 voice-2201-2202.wav
13:47:40
#ls -lah /var/spool/asterisk/
total 36K
drwxr-x---  9 asterisk asterisk 4.0K 2010-10-25 16:53 .
drwxr-xr-x 11 root     root     4.0K 2010-10-27 14:41 ..
drwxr-x---  2 asterisk asterisk 4.0K 2009-12-14 21:09 dictate
drwxr-x---  2 asterisk asterisk 4.0K 2009-12-14 21:09 meetme
drwxr-x---  2 asterisk asterisk 4.0K 2010-10-27 14:39 monitor
drwxr-x---  2 asterisk asterisk 4.0K 2009-12-14 21:09 outgoing
drwxr-x---  2 asterisk asterisk 4.0K 2009-12-14 21:09 system
drwxr-x---  2 asterisk asterisk 4.0K 2009-12-14 21:09 tmp
drwxr-x---  3 asterisk asterisk 4.0K 2010-10-27 11:06 voicemail
13:47:45
#useradd -G asterisk andrey
useradd: user andrey exists
13:48:11
#ls /etc/gro
groff/  group   group-
13:48:11
#ls /etc/group
group   group-
13:48:11
#ls /etc/group
group   group-
13:48:11
#ls /etc/group | grep asterisk

13:49:10
#ls /etc/group
/etc/group
13:49:29
#ls /etc/group
group   group-
13:49:29
#ls /etc/group
group   group-
13:49:29
#less /etc/group
13:49:29
#less /etc/group
13:49:29
#less /etc/group
13:49:29
#less /etc/group
13:49:44
#less /etc/group | grep asterisk
dialout:x:20:andrey,asterisk
audio:x:29:andrey,asterisk
asterisk:x:109:
13:49:55
#usermod -G asterisk andrey

13:53:20
#/etc/init.d/samba restart
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.
13:53:42
#less /etc/gro
13:53:42
#less /etc/group
13:53:42
#less /etc/group
13:53:42
#less /etc/group
13:57:03
#less /etc/group | grep asterisk
dialout:x:20:asterisk
audio:x:29:asterisk
asterisk:x:109:andrey
13:58:22
#Only bind to the named interfaces and/or networks; you must use the
#======================= Global Settings =======================
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
#   workgroup = mn.unix.nt
# server string is the equivalent of the NT Description field
   server string = %h server
;   locking = no
;   path = /cdrom
;   guest ok = yes
...
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don't want to use auto-mounting/unmounting make sure the CD
#       is mounted on /cdrom
#
;   preexec = /bin/mount /cdrom
;   postexec = /bin/umount /cdrom
[monitor]
path=/var/spool/asterisk/monitor
"/etc/samba/smb.conf" 329L, 11981C written
14:00:00
#man smbpasswd
/dev/pts/0
14:02:24
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Including context 'service' in context 'group3'
  == Parsing '/etc/asterisk/users.conf': Found
    -- Executing [2299@group1:1] Answer("SIP/2201-088a8960", "") in new stack
    -- Executing [2299@group1:2] Wait("SIP/2201-088a8960", "1") in new stack
    -- Executing [2299@group1:3] Playback("SIP/2201-088a8960", "demo-thanks") in new stack
    -- <SIP/2201-088a8960> Playing 'demo-thanks' (language 'en')
  == Spawn extension (group1, 2299, 3) exited non-zero on 'SIP/2201-088a8960'
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
14:02:49
#vi /etc/asterisk/extensions.conf
/dev/pts/2
14:03:57
#less /etc/samba/smb.conf
14:07:27
#vi /etc/asterisk/extensions.conf
14:07:50
#;exten =>2203,1,Dial(SIP/2203)
.ICE-unix/                v188901/                  .X11-unix/
l3-saved-5599.31860.4503  warning1.gsm
lost+found/               warning1.ulaw
14:07:50
#ls -lah /tmp/
total 41K
drwxrwxrwt  6 root     root     1.0K 2010-10-27 15:07 .
drwxr-xr-x 21 root     root     1.0K 2010-10-25 11:22 ..
drwxrwxrwt  2 root     root     1.0K 2010-10-27 09:26 .ICE-unix
-rw-r-----  1 root     root     2.6K 2010-10-27 15:02 l3-saved-5599.31860.4503
drwx------  2 root     root      12K 2010-10-25 11:20 lost+found
drwx------  2 root     root     1.0K 2010-10-27 15:02 v188901
-rw-r-----  1 asterisk asterisk 5.1K 2010-10-27 14:07 warning1.gsm
-rw-r-----  1 asterisk asterisk  14K 2010-10-27 14:09 warning1.ulaw
drwxrwxrwt  2 root     root     1.0K 2010-10-27 09:26 .X11-unix
14:08:48
#vi /etc/asterisk/extensions.conf
--- /tmp/l3-saved-6899.4698.14048	2010-10-27 15:13:41.000000000 +0300
+++ /etc/asterisk/extensions.conf	2010-10-27 15:26:12.000000000 +0300
@@ -48,12 +48,21 @@
 
 
 [local]
-exten =>_220X,1,Answer 
-exten =>_220X,n,Monitor(wav,voice-${EXTEN}-${CALLERID(num)},m)
-exten =>_220X,n,Dial(SIP/${EXTEN},3)
+exten =>_22XX,1,Answer
+exten =>_22XX,n,Set(FILENAME=voice-${EXTEN}-${CALLERID(num)}-${EPOCH})
+exten =>_22XX,n,Monitor(wav,${FILENAME},m)
+exten =>_22XX,n,Dial(SIP/${EXTEN},3)
+exten =>_22XX,n,GotoIf($[${DIALSTATUS} = ANSWER]?answer)
+exten => _22XX,n,GotoIf($[${DIALSTATUS} = BUSY]?busy:unavail)
+exten => _22XX,n(unavail),Playback(/tmp/voicemail-greeting-${EXTEN})
+exten => _22XX,n,Voicemail(${EXTEN}@default)
+exten => _22XX,n(busy),Hangup
+exten => _22XX,n(answer),StopMonitor()
+exten => _22XX,n,System(lame /var/spool/asterisk/monitor/${FILENAME}.wav /var/spool/asterisk/monitor/${FILENAME}.mp3)
+
 ;exten =>_22XX,n,Playback(/tmp/voicemail-greeting-${EXTEN})
-exten =>_220X,n,Voicemail(${EXTEN}@default)
-exten =>_220X,n,Hangup 
+exten =>_22XX,n,Voicemail(${EXTEN}@default)
+exten =>_22XX,n,Hangup 
 exten => 2296,1,VoiceMailMain()
 exten => 2298,1,Record(/tmp/warning1:ulaw,,3)
 ;exten => 2297,1,Playback(/tmp/warning1)
/dev/pts/0
14:09:44
#{EXTEN})
secret=1234
host=dynamic
callerid="Andrey's_Softphone 2202"
context=group3               ; group1 context for incoming calls
;canreinvite=no
[2203]
[2203]riend
disallow=all
allow=gsm
allow=ulaw
...
context=group1
[br]=dynamic
[br]
username=mn
[gm]
[gm]
secret=1234
[gm]=dynamic
username=mn
"/etc/asterisk/sip.conf" 78L, 1385C written
14:11:14
#asterisk -rcv
Asterisk 1.4.21.2~dfsg-3+lenny1, Copyright (C) 1999 - 2008 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.
=========================================================================
This package has been modified for the Debian GNU/Linux distribution
Please report all bugs to http://bugs.debian.org/asterisk
=========================================================================
...
    -- Recording the message
    -- x=0, open writing:  /var/spool/asterisk/voicemail/default/2201/tmp/PWX5G8 format: wav49, 0x88afe90
    -- x=1, open writing:  /var/spool/asterisk/voicemail/default/2201/tmp/PWX5G8 format: gsm, 0x887d760
    -- x=2, open writing:  /var/spool/asterisk/voicemail/default/2201/tmp/PWX5G8 format: wav, 0x88af800
    -- User hung up
  == Spawn extension (group1, 2201, 4) exited non-zero on 'SIP/mn-088b2ce8'
[Oct 27 15:11:42] NOTICE[8129]: res_monitor.c:339 ast_monitor_stop: monitor executing ( nice -n 19 sox -m "/var/spool/asterisk/monitor/voice-2201-2101-in.wav" "/var/spool/asterisk/monitor/voice-2201-2101-out.wav" "/var/spool/asterisk/monitor/voice-2201-2101.wav"  && rm -f "/var/spool/asterisk/monitor/voice-2201-2101-"* ) &
linux12*CLI> quit
Executing last minute cleanups
Asterisk cleanly ending (0).
прошло 14 минут
/dev/pts/2
14:26:12
#vi /etc/apt/sources.list
--- /tmp/l3-saved-6899.24782.17649	2010-10-27 15:26:57.000000000 +0300
+++ /etc/apt/sources.list	2010-10-27 15:28:09.000000000 +0300
@@ -9,5 +9,6 @@
 deb http://security.debian.org/ lenny/updates main contrib non-free
 deb-src http://security.debian.org/ lenny/updates main contrib non-free
 
+deb http://www.debian-multimedia.org/ lenny main non-free
 deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
 deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
14:28:09
#apt-get update
Get:1 http://www.debian-multimedia.org lenny Release.gpg [198B]
Ign http://www.debian-multimedia.org lenny/main Translation-en_US
Ign http://www.debian-multimedia.org lenny/non-free Translation-en_US
Get:2 http://www.debian-multimedia.org lenny Release [26.5kB]
Ign http://www.debian-multimedia.org lenny Release
Get:3 http://www.debian-multimedia.org lenny/main Packages [66.3kB]
Get:4 http://www.debian-multimedia.org lenny/non-free Packages [4580B]
Err http://volatile.debian.org lenny/volatile Release.gpg
  Temporary failure resolving 'volatile.debian.org'
Err http://ftp.ua.debian.org lenny Release.gpg
...
W: Failed to fetch http://security.debian.org/dists/lenny/updates/Release.gpg  Temporary failure resolving 'security.debian.org'
W: Failed to fetch http://security.debian.org/dists/lenny/updates/main/i18n/Translation-en_US.bz2  Cannot initiate the connection to security.debian.org:80 (2001:a78:5:1:216:35ff:fe7f:6ceb). - connect (101 Network is unreachable) [IP: 2001:a78:5:1:216:35ff:fe7f:6ceb 80]
W: Failed to fetch http://security.debian.org/dists/lenny/updates/contrib/i18n/Translation-en_US.bz2  Cannot initiate the connection to security.debian.org:80 (2001:a78:5:1:216:35ff:fe7f:6ceb). - connect (101 Network is unreachable) [IP: 2001:a78:5:1:216:35ff:fe7f:6ceb 80]
W: Failed to fetch http://security.debian.org/dists/lenny/updates/non-free/i18n/Translation-en_US.bz2  Cannot initiate the connection to security.debian.org:80 (2001:a78:5:1:216:35ff:fe7f:6ceb). - connect (101 Network is unreachable) [IP: 2001:a78:5:1:216:35ff:fe7f:6ceb 80]
W: Failed to fetch http://volatile.debian.org/debian-volatile/dists/lenny/volatile/Release.gpg  Temporary failure resolving 'volatile.debian.org'
W: Failed to fetch http://volatile.debian.org/debian-volatile/dists/lenny/volatile/main/i18n/Translation-en_US.bz2  Cannot initiate the connection to volatile.debian.org:80 (2001:858:2:2::2). - connect (101 Network is unreachable) [IP: 2001:858:2:2::2 80]
W: Failed to fetch http://volatile.debian.org/debian-volatile/dists/lenny/volatile/contrib/i18n/Translation-en_US.bz2  Cannot initiate the connection to volatile.debian.org:80 (2001:858:2:2::2). - connect (101 Network is unreachable) [IP: 2001:858:2:2::2 80]
W: Failed to fetch http://volatile.debian.org/debian-volatile/dists/lenny/volatile/non-free/i18n/Translation-en_US.bz2  Cannot initiate the connection to volatile.debian.org:80 (2001:858:2:2::2). - connect (101 Network is unreachable) [IP: 2001:858:2:2::2 80]
W: Some index files failed to download, they have been ignored, or old ones used instead.
W: You may want to run apt-get update to correct these problems
14:29:02
#apt-get install lime
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package lime
14:31:02
#apt-get update
Get:1 http://www.debian-multimedia.org lenny Release.gpg [198B]
Ign http://www.debian-multimedia.org lenny/main Translation-en_US
Ign http://www.debian-multimedia.org lenny/non-free Translation-en_US
Hit http://www.debian-multimedia.org lenny Release
Err http://www.debian-multimedia.org lenny Release
Get:2 http://www.debian-multimedia.org lenny Release [26.5kB]
Get:3 http://ftp.ua.debian.org lenny Release.gpg [1033B]
Ign http://ftp.ua.debian.org lenny/main Translation-en_US
Ign http://ftp.ua.debian.org lenny/non-free Translation-en_US
Ign http://ftp.ua.debian.org lenny/contrib Translation-en_US
...
Hit http://volatile.debian.org lenny/volatile/main Packages
Hit http://volatile.debian.org lenny/volatile/contrib Packages
Hit http://volatile.debian.org lenny/volatile/non-free Packages
Hit http://volatile.debian.org lenny/volatile/main Sources
Hit http://volatile.debian.org lenny/volatile/contrib Sources
Hit http://volatile.debian.org lenny/volatile/non-free Sources
Fetched 115kB in 1s (58.1kB/s)
Reading package lists... Done
W: GPG error: http://www.debian-multimedia.org lenny Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 07DC563D1F41B907
W: You may want to run apt-get update to correct these problems
14:31:10
#apt-get install lime
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Couldn't find package lime
14:31:25
#apt-cache search lame
libavifile-0.7c2 - shared libraries for AVI read/writing
cmt - Computer Music Toolkit (cmt) a collection of LADSPA plugins
cpufire-applet - GNOME panel applet showing the CPU load as a fire
darkice - Live audio streamer
flamerobin - graphical database administration tool for Firebird DBMS
flamethrower - Multicast file distribution utility
glame - versatile audio processor
hardware-monitor - Monitor applet for the Gnome panel
caca-utils - text mode graphics utilities
libcarp-clan-perl - Perl enhancement to Carp error logging facilities
...
lame - LAME Ain't an MP3 Encoder
lame-extras - LAME Ain't an MP3 Encoder
liblame-dev - LAME Ain't an MP3 Encoder
liblame0 - LAME Ain't an MP3 Encoder
libmp3lame-dev - LAME Ain't an MP3 Encoder
libmp3lame0 - LAME Ain't an MP3 Encoder
libogmrip-dev - Application for ripping and encoding DVD - development files
libogmrip0 - Application for ripping and encoding DVD - libraries files
ogmrip - Application for ripping and encoding DVD
ogmrip-doc - Application for ripping and encoding DVD - Documentation files
14:32:12
#aptitude install lame
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
The following NEW packages will be installed:
  lame
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
...
Unpacking lame (from .../lame_3.98.2-0.4_i386.deb) ...
Processing triggers for man-db ...
Setting up lame (3.98.2-0.4) ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Writing extended state information... Done
Reading task descriptions... Done
14:33:15
#man lime
14:37:24
#man Lime
14:37:27
#aptitude install lame
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B of archives. After unpacking 0B will be used.
Writing extended state information... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
14:37:41
#dpkg -L lime
Package `lime' is not installed.
Use dpkg --info (= dpkg-deb --info) to examine archive files,
and dpkg --contents (= dpkg-deb --contents) to list their contents.
14:37:53
#Lime
bash: Lime: command not found

Статистика

Время первой команды журнала10:56:35 2010-10-27
Время последней команды журнала14:37:53 2010-10-27
Количество командных строк в журнале101
Процент команд с ненулевым кодом завершения, %14.85
Процент синтаксически неверно набранных команд, % 0.99
Суммарное время работы с терминалом *, час 2.85
Количество командных строк в единицу времени, команда/мин 0.59
Частота использования команд
ls30|============================| 28.04%
vi23|=====================| 21.50%
asterisk12|===========| 11.21%
less11|==========| 10.28%
apt-get6|=====| 5.61%
man4|===| 3.74%
grep3|==| 2.80%
/etc/init.d/samba2|=| 1.87%
aptitude2|=| 1.87%
exten2|=| 1.87%
dpkg1|| 0.93%
{EXTEN})1|| 0.93%
[2202]1|| 0.93%
Lime1|| 0.93%
Only1|| 0.93%
useradd1|| 0.93%
2203)1|| 0.93%
~1|| 0.93%
2202)1|| 0.93%
apt-cache1|| 0.93%
you1|| 0.93%
usermod1|| 0.93%
____
*) Интервалы неактивности длительностью 30 минут и более не учитываются

Справка

Для того чтобы использовать LiLaLo, не нужно знать ничего особенного: всё происходит само собой. Однако, чтобы ведение и последующее использование журналов было как можно более эффективным, желательно иметь в виду следующее:
  1. В журнал автоматически попадают все команды, данные в любом терминале системы.

  2. Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.

  3. Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
    $ l s-l
    bash: l: command not found
    

  4. Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
    $ test 5 -lt 4
    Обратите внимание на то, что код завершения команды может быть отличен от нуля не только в тех случаях, когда команда была выполнена с ошибкой. Многие команды используют код завершения, например, для того чтобы показать результаты проверки

  5. Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
    $ 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
    

  6. Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
    # id
    uid=0(root) gid=0(root) Gruppen=0(root)
    

  7. Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
    $ vi ~/.bashrc
    2a3,5
    >    if [ -f /usr/local/etc/bash_completion ]; then
    >         . /usr/local/etc/bash_completion
    >        fi
    

  8. Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
    $ patch ~/.bashrc
    В данном случае изменения применяются к файлу ~/.bashrc

  9. Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.

    Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.

  10. Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.

  11. Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора

  12. Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.

  13. Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.

  14. Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:

    $ whoami
    
    user
    
    $ #^ Интересно, кто я?
    
    в журнале это будет выглядеть так:
    $ whoami
    
    user
    
    Интересно, кто я?

  15. Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:

    $ whoami
    
    user
    
    $ cat > /dev/null #^ Интересно, кто я?
    
    Программа whoami выводит имя пользователя, под которым 
    мы зарегистрировались в системе.
    -
    Она не может ответить на вопрос о нашем назначении 
    в этом мире.
    
    В журнале это будет выглядеть так:
    $ whoami
    user
    
    Интересно, кто я?
    Программа whoami выводит имя пользователя, под которым
    мы зарегистрировались в системе.

    Она не может ответить на вопрос о нашем назначении
    в этом мире.
    Для разделения нескольких абзацев между собой используйте символ "-", один в строке.

  16. Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=

  17. Содержимое файла может быть показано в журнале. Для этого его нужно вывести с помощью программы cat. Если вывод команды отметить симоволами #!, содержимое файла будет показано в журнале в специально отведённой для этого секции.
  18. Для того чтобы вставить скриншот интересующего вас окна в журнал, нужно воспользоваться командой l3shot. После того как команда вызвана, нужно с помощью мыши выбрать окно, которое должно быть в журнале.
  19. Команды в журнале расположены в хронологическом порядке. Если две команды давались одна за другой, но на разных терминалах, в журнале они будут рядом, даже если они не имеют друг к другу никакого отношения.
    1
        2
    3   
        4
    
    Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.

О программе

LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008

$Id$