Error in the documentation?

Hi,

I am learning Asterisk using the doc you put together at asteriskdocs.org and I think I found an error.

In the part about AstDB and dialplans, you give an example that counts from 0 to infinite using AstDB and SayNumber()
Address: asteriskdocs.org/en/3rd_Edit … 6-SECT-6.4

However, it seems you forgot to put the Answer() instruction, proceeding directly to Set().
When I use this example, Asterisk starts counting but the SIP phone thinks it’s still ringing because the call hasn’t been answered yet.

Here is the original example:

exten => 678,1,Set(COUNT=${DB(test/count)})
   same => n,GotoIf($[${ISNULL(${COUNT})}]?:continue)
   same => n,Set(DB(test/count)=1)
   same => n,Goto(1)
   same => n(continue),NoOp()
   same => n,SayNumber(${COUNT})
   same => n,Set(COUNT=$[${COUNT} + 1]
   same => n,Set(DB(test/count)=${COUNT})
   same => n,Goto(1)

And my fix:

exten => 678,1,Answer()
   same => 2,Set(COUNT=${DB(test/count)})
   same => n,GotoIf($[${ISNULL(${COUNT})}]?:continue)
   same => n,Set(DB(test/count)=1)
   same => n,Goto(2)
   same => n(continue),NoOp()
   same => n,SayNumber(${COUNT})
   same => n,Set(COUNT=$[${COUNT} + 1]
   same => n,Set(DB(test/count)=${COUNT})
   same => n,Goto(2)

Hope this helps and thanks for putting this guide together, I’m learning a lot!

Please see asteriskdocs.org/en/3rd_Edit … ACE-SECT-7 for the correct way of reporting problems, but please also check that this is not already in the errata.

Incidentally, whether or not this actually works depends on how the channel handles early media. It may work on some channels, and it may have worked on earlier versions of the SIP channel driver.