The errata list is a list of errors and their corrections that were found after the product was released. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".
The following errata were submitted by our customers and approved as valid errors by the author or editor.
Version |
Location |
Description |
Submitted By |
Date submitted |
Date corrected |
Printed |
Page 18
end of page 17's text box |
The word 'extrememly' should be 'extremely'.
Note from the Author or Editor: The reporter is correct that the word needs to be fixed.
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 29
Third paragraph |
The word "algorythems" should be "algorithms".
Note from the Author or Editor: The reporter is correct that the word needs to be corrected.
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 40
First paragraph of "Release Versus Trunk" text box |
The word "communty" should be "community".
Note from the Author or Editor: The reporter is correct that the word needs to be corrected.
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 51
End of first paragraph of "Other Useful Add-ons" text box |
The word "considred" should be "considered".
Note from the Author or Editor: The reporter is correct that the word needs to be corrected.
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 55
Between the first and second paragraph |
The first paragraph in page 55 says that to see the usage of the asterisk and zaptel service you
should run:
# service zaptel start
# service asterisk start
But, that is to actually start the services, not to see their usage. To see their usage you
should do:
# service zaptel
# service asterisk
Otherwise, the reader is going to inadvertently start their asterisk server, possibly before they
are ready to do so.
Note from the Author or Editor: The reporter is correct. Usage should be changed to:
service zaptel
service asterisk
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 71
Near the top |
In the (first?) paragraph, it states:
"if you want to build an IP-only configuration, you can skip to the section on configuring SIP."
when it should say:
"if you want to build an IP-only configuration, you can skip to the section on configuring SIP
after reading the section on creating configuration files."
That is, if you take that literally (as I did) and skip ahead from that point, you miss out on
some critical configuration steps.
Note from the Author or Editor: The reporter is correct, and has provided an adequate documentation update. Thanks!
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 73
example extensions.conf listing |
Page 73, under the heading "Setting Up the Dialplan for Some Test Calls" is this snippet:
[internal]
exten => 500,1,Verbose(1|Echo test application)
exten => 500,n,Echo()
exten => 500,n,Hangup()
which should read:
[internal]
exten => 500,1,Verbose(1|Echo test application)
exten => 500,n,Answer()
exten => 500,n,Echo()
exten => 500,n,Hangup()
note the additional line with Answer() in it. Without this line asterisk never picks up the line
and the following Echo() doesn't work (at least for me). Very confusing for a new user like me.
version tested is Asterisk 1.4.19
Note from the Author or Editor: The addition by the reporter is correct.
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 78
1st paragraph (example) |
There is syntax error is in the given example for zapata.conf on page 78. One of the lines is
signaling=fxs_ks
It should be signalling (with double "l"), otherwise asterisk doesnt understand it, and thus it does not load the zaptel (or dahdi) module.
I havent searched for this definition on other pages. I have confirmed this with asterisk-1.4.24.1.
Note from the Author or Editor: Yes, the word 'signaling' should be updated to say, 'signalling'
|
Georgi Iovchev |
Jun 15, 2009 |
Dec 01, 2009 |
PDF |
Page 81
configuration text in "Dialplan Configuration" section |
The errata is the same as described above for the page number 73. There should be the line of code like "exten => 500,n,Answer() between the following lines:
exten => 500,1,Verbose(1|Echo test application)
exten => 500,n,Echo()
Note from the Author or Editor: This is correct. The book should therefore read as:
exten => 500,1,Verbose(1|Echo test application)
exten => 500,n,Answer()
exten => 500,n,Echo()
|
michael |
Aug 20, 2010 |
|
Printed |
Page 99
Near the top |
The first sentence contains:
"providers may insteadSession Initiation Protocol"
and from the context, it's not clear what the sentence actually meant to say (compounded by the
fact that I'm a newbie to the subject).
Note from the Author or Editor: Simply remove the words "Session Initiation Protocol". It appears to be a copy-paste error. Sentence should read:
"Some service providers may instead be sending their calls to you via multiple IP addresses, ..."
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 104
SIP Phone Configuration |
I'm new to Asterisks, but on page 104 under SIP Phone Configuration it looks like if SIP phone
1001 registered in Osaka tries to dial 1000 in Toronto, the Osaka extensions.conf displayed on
the bottom of page 105 and top of 106 is going to try and route the call internally since the
internal context has matches for extensions beginning with _1XXX. The number will also never
match the remote context since it is looking for a _2XXX. Am I mistaken?
Note from the Author or Editor: This is correct. The following corrections should be made. I'm using the page numbers from the PDF (http://downloads.oreilly.com/books/9780596510480.pdf):
Page 104 correct statements:
Toronto sip.conf:
[2000]
type=friend
host=dynamic
context=phones
Osaka sip.conf:
[1000]
type=friend
host=dynamic
context=phones
You should now have extension 2000 registered to Toronto, and extension 1000 registered to Osaka.
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 110
5th line |
The example dialplan shows a line "include => phones" in the [phones] context. This should be
"include => internal", as it is in previous iterations of the dialplan in this chapter.
Note from the Author or Editor: Reporter is correct.
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 112
middle of page 112 |
The Toronto iax.conf file has a context=incoming_osaka, but the Toronto
extensions.conf file on page 114 has a context of toronto_incoming. Also, the Osaka iax.conf file
has a context=incoming_toronto, but the Osaka extensions.conf file has a context of
osaka_incoming. Looks like the contexts are switched along with the city/direction.
Note from the Author or Editor: The dialplan on pages 114-115 has the dialplan flipped under the headings of:
The extensions.conf file on Toronto
and
The extensions.conf file on Osaka
Correction: The dialplan under the Toronto header should be moved to under the Osaka header, and the dialplan under the Osaka header should be moved to under the Toronto header.
Thanks!
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 152
days_of_week syntax |
For the GotoIfTime() application, the book states that you can match specified days using the & sign, ie
GotoIfTime(08:00-17:00,mon&fri,*,*?label)
However, the & sign can only be used from Asterisk 1.6.2 onwards and is not possible in version 1.4 which the book covers.
Note from the Author or Editor: Several references to using ampersands in the commands is wrong. Find corrections for text below:
ORIGINAL:
days_of_week
This is a list of one or more days of the week. The days should be specified as mon, tue, wed, thu, fri, sat, and/or sun. Monday through Friday would be expressed as mon-fri. Tuesday and Thursday would be expressed as tue&thu.
Note that you can specify a combination of ranges and single days, as in: sun-mon&wed&fri-sat, or, more simply: wed&fri-mon.
days_of_month
This is a list of the numerical days of the month. Days are specified by the numbers 1 through 31. The 7th through the 12th would be expressed as 7-12, and the 15th and 30th of the month would be written as 15&30.
months
This is a list of one or more months of the year. The months should be written as jan-apr for a range, and separated with ampersands when wanting to include nonsequencial months, such as jan&mar&jun. You can also combine them like so: jan-apr&jun&oct-dec.
FIXED:
days_of_week
This is a list of one or more days of the week. The days should be specified as mon, tue, wed, thu, fri, sat, and/or sun. Monday through Friday would be expressed as mon-fri. Non-contiguous days of the week are required to be handled on separate lines.
*** REMOVE THIS NOTE ***
Note that you can specify a combination of ranges and single days, as in: sun-mon&wed&fri-sat, or, more simply: wed&fri-mon.
*** REMOVE THIS NOTE ***
days_of_month
This is a list of the numerical days of the month. Days are specified by the numbers 1 through 31. The 7th through the 12th would be expressed as 7-12. Non-contiguous days are required to be handled on separate lines.
months
This is a list of one or more months of the year. The months should be written as jan-apr for a range. Non-contiguous months are required to be handled on separate lines.
|
Viktor |
Apr 16, 2010 |
|
Printed |
Page 153
|
exten => s,1,GotoIfTime(*,*,4,jul?open,s,1)
should be
exten => s,1,GotoIfTime(*,*,4,jul?closed,s,1)
Note from the Author or Editor:
Confirmed
|
Anonymous |
|
Dec 01, 2009 |
PDF |
Page 159
2nd paragraph |
[macro-voicemail]
exten => s,1,Dial(${ARG1},10)
exten => s,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => s,n(unavail),Voicemail(${MCARO_EXTEN}@default,u)
;MCARO_EXTEN is a Syntax Mistake,I think the correct word is:${MCARO_EXTEN}
exten => s,n,Hangup()
exten => s,n(busy),VoiceMail(${MCARO_EXTEN}@default,b)
;MCARO_EXTEN is a Syntax Mistake, I think the correct word is ${MACRO_EXTEN}
exten => s,n,Hangup()
Note from the Author or Editor: Both references to ${MCARO_EXTEN} should really be ${MACRO_EXTEN}
|
GERMAFEL |
May 01, 2009 |
Dec 01, 2009 |
PDF |
Page 162
bottom of page |
In the last example, this line:
exten => 124,1,GotoIf($[${BLACKLIST()]?blocked,1)
should be:
exten => 124,1,GotoIf($[${BLACKLIST()}]?blocked,1)
or
exten => 124,1,GotoIf(${BLACKLIST()}?blocked,1)
Page 403 mentions the latter syntax:
LookupBlacklist() - This application has been deprecated in favor of GotoIf(${BLACKLIST()}?context|extension|priority)
Note from the Author or Editor: As the description points out, the line should actually read as:
exten => 124,1,GotoIf($[${BLACKLIST()}]?blocked,1)
This is on page 162 of the PDF version.
|
Tim Banks |
Aug 24, 2009 |
|
Printed |
Page 194
First footnote |
Page 194 in the book, first footnote, one of the words with the inner letters garbled has a
misspelling. It says "iprmoetnt," but it should say "iprmoatnt"
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 250
|
On page 250, Chapter 11: The Asterisk GUI Framework, the heading that says "Setting up httpd.conf and manager.conf", should say "Setting up http.conf and manager.conf".
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 295
3rd paragraph |
The Example script for logrotate specifies the postrotate command to use
asterisk -rx "logger rotate" > /dev/null 2> /dev/null
which will do the same task as logrotate, the correct command should be
asterisk -rx "logger reload" > /dev/null 2> /dev/null
to cause asterisk to reopen the empty logfile.
Note from the Author or Editor: Please replace the phrase "logger rotate" with "logger reload" as specified by the person who submitted the errata. He is indeed correct.
|
Anonymous |
Feb 25, 2009 |
Dec 01, 2009 |
Printed |
Page 298
1st sentence of last paragraph |
"..sounds that come with Asterisk are delivered in [??what format??] format. We would not
normally recommend storing them in this format..."
Note from the Author or Editor: "...sounds that come with Asterisk are delivered in GSM format."
|
Anonymous |
|
Dec 01, 2009 |
Printed |
Page 352
Second definition (domain) |
The definition of domain is wrong. What this actually provides is an entry in a list of *local* domain names. INVITE and REFER will always be *accepted* for these. There is also a second parameter that is missing in the book, which gives a context to be used for calls addressed to that domain.
There are/were two comments in sip.conf relating to this. One of them was wrong and this is the one that was used for the book.
This is the bad comment (from http://svn.digium.com/view/asterisk/tags/1.4.21/configs/sip.conf.sample?revision=122049&view=markup):
47 ;domain=mydomain.tld ; Set default domain for this host
48 ; If configured, Asterisk will only allow
49 ; INVITE and REFER to non-local domains
50 ; Use "sip show domains" to list local domains
This is the correct description:
371 ;----------------------------------------- SIP DOMAIN SUPPORT ------------------------
372 ; Incoming INVITE and REFER messages can be matched against a list of 'allowed'
373 ; domains, each of which can direct the call to a specific context if desired.
374 ; By default, all domains are accepted and sent to the default context or the
375 ; context associated with the user/peer placing the call.
376 ; Domains can be specified using:
377 ; domain=<domain>[,<context>]
378 ; Examples:
379 ; domain=myasterisk.dom
380 ; domain=customer.com,customer-context
See also: http://bugs.digium.com/view.php?id=12413
|
Anonymous |
Jun 19, 2008 |
|
PDF |
Page 420
PrivacyManager() |
The result returned in PRIVACYMGRSTATUS on failure should be FAILED not FAILURE. This needs to change in the first para of the description and also in the third line of the example extension from:
exten => 123,n,GotoIf($["${PRIVACYMGRSTATUS}" = "FAILURE"]?bad)
to
exten => 123,n,GotoIf($["${PRIVACYMGRSTATUS}" = "FAILED"]?bad)
Note from the Author or Editor: Change the word "FAILURE" to "FAILED" in the mentioned code snippet.
|
Geoff Lane |
Feb 05, 2009 |
Dec 01, 2009 |
Printed |
Page 462
End of "modules.conf" |
The end of "modules.conf" section states "Let's take a look at each of them." but they are all
omitted in the 2nd Edition & OK in the First Edition. I need to know if there are changes in
Asterisk 1.4.
Note from the Author or Editor: Remove the line, "Let's take a look at each of them."
|
Anonymous |
|
Dec 01, 2009 |