SayDigits playback doesn’t always work

Home » Asterisk Users » SayDigits playback doesn’t always work
Asterisk Users 5 Comments

In addition: I tried adding Playback(hello) to the 123 extension, before
the SayDigits. Then everything is being played perfectly.

Also when I park a call to 700, I cannot hear the playback of the parking
lot. I do see this in the logs though, so I can pickup the call then, but
it should be played back to the one who is parking of course.

So something seems to be wrong with SayDigits?

On Mon, Jan 16, 2012 at 4:02 PM, Rolandow wrote:

> Hi,
>
> I have this wierd problem where SayDigits does work when I execute it via
> a menu, but not when calling directly. In my extensions, I have this setup:
>
> exten => 200,1,Answer()
> same => n,Background(main-menu)
> same => n,WaitExten(5)
>
> exten => 123,1,Wait(2)
> same => n,SayDigits(${EXTEN})
>
>
> Now when I call 200, I hear the menu, and then when I press 123, it plays
> back one two three. Everything is OK.
>
> When I call 123 from the same phone, I do see that the sound files are
> being played to me, but I don’t hear any sound.
>
> In Asterisk CLI I see this:
>
> [Jan 16 15:54:15] == Extension Changed 137[StumpelZwaag] new state InUse
> for Notify User 001565150F04.1
> [Jan 16 15:54:15] — Executing [123@StumpelZwaag:1]
> Wait(“SIP/000B822FD265-0000003d”, “2”) in new stack
> [Jan 16 15:54:17] — Executing [123@StumpelZwaag:2]
> SayDigits(“SIP/000B822FD265-0000003d”, “123”) in new stack
> [Jan 16 15:54:17] — Playing
> ‘digits/1.gsm’ (language ‘nl’)
> [Jan 16 15:54:17] —
Playing
> ‘digits/2.gsm’ (language ‘nl’)
> [Jan 16 15:54:18] —
Playing
> ‘digits/3.gsm’ (language ‘nl’)
> [Jan 16 15:54:18] — Auto fallthrough, channel
> ‘SIP/000B822FD265-0000003d’ status is ‘UNKNOWN’
> [Jan 16 15:54:18] == Extension Changed 137[StumpelZwaag] new state Idle
> for Notify User 001565150F04.1
>
> This is the call that doesn’t work. Then when I call 200, I see this:
>
> [Jan 16 15:54:29] == Using SIP RTP CoS mark 5
> [Jan 16 15:54:29] == Extension Changed 137[StumpelZwaag] new state InUse
> for Notify User 001565150F04.1
> [Jan 16 15:54:29] — Executing [200@StumpelZwaag:1]
> Answer(“SIP/000B822FD265-0000003e”, “”) in new stack
> [Jan 16 15:54:29] — Executing [200@StumpelZwaag:2]
> BackGround(“SIP/000B822FD265-0000003e”, “main-menu”) in new stack
> [Jan 16 15:54:29] —
Playing
> ‘main-menu.gsm’ (language ‘nl’)
> [Jan 16 15:54:30] — Executing [200@StumpelZwaag:3]
> WaitExten(“SIP/000B822FD265-0000003e”, “5”) in new stack
> [Jan 16 15:54:34] == CDR updated on SIP/000B822FD265-0000003e
> [Jan 16 15:54:34] — Executing [123@StumpelZwaag:1]
> Wait(“SIP/000B822FD265-0000003e”, “2”) in new stack
> [Jan 16 15:54:36] — Executing [123@StumpelZwaag:2]
> SayDigits(“SIP/000B822FD265-0000003e”, “123”) in new stack
> [Jan 16 15:54:36] —
Playing
> ‘digits/1.gsm’ (language ‘nl’)
> [Jan 16 15:54:36] —
Playing
> ‘digits/2.gsm’ (language ‘nl’)
> [Jan 16 15:54:37] —
Playing
> ‘digits/3.gsm’ (language ‘nl’)
> [Jan 16 15:54:37] — Auto fallthrough, channel
> ‘SIP/000B822FD265-0000003e’ status is ‘UNKNOWN’
> [Jan 16 15:54:37] == Extension Changed 137[StumpelZwaag] new state Idle
> for Notify User 001565150F04.1
>
> This call works perfectly. What am I missing?
>
> In my sip.conf I have:
>
> [stumpel-zwaag](!) ; create template for our
> devices
> type=friend ; the channel driver will
> mathc on username first, IP second
> context=StumpelZwaag ; this is where calls from
> the device will enter the dialplan
> host=dynamic ; the device will register
> with asterisk
> ;nat=yes ; assume the
> device is behind nat
> secret=xxx ; a secure password for this device
> dtmfmode=auto ; accept touch-tones from
> devices, negotiated automatically
> disallow=all ; reset with voice codecs
> to accept from, and request to, the device
> allow=alaw ; which audio codecs we
> accept from
> canreinvite=nonat
>
>

5 thoughts on - SayDigits playback doesn’t always work

  • You aren’t “opening the line” in the 123 call. In the 200 call, the
    Answer() opens the output audio channel. In the 123 call you are “plunging”
    into the SayDigits() function without opening the channel. Some functions
    will generate their own Answer() if not present, others will not.

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Roland
    Sent: Monday, January 16, 2012 9:22 AM

    In addition: I tried adding Playback(hello) to the 123 extension, before the
    SayDigits. Then everything is being played perfectly.

    Also when I park a call to 700, I cannot hear the playback of the parking
    lot. I do see this in the logs though, so I can pickup the call then, but it
    should be played back to the one who is parking of course.

    So something seems to be wrong with SayDigits?

    Hi,

    I have this wierd problem where SayDigits does work when I execute it via a
    menu, but not when calling directly. In my extensions, I have this setup:

    exten => 200,1,Answer()

    same => n,Background(main-menu)

    same => n,WaitExten(5)

    exten => 123,1,Wait(2)

    same => n,SayDigits(${EXTEN})

    Now when I call 200, I hear the menu, and then when I press 123, it plays
    back one two three. Everything is OK.

    When I call 123 from the same phone, I do see that the sound files are being
    played to me, but I don’t hear any sound.

    In Asterisk CLI I see this:

    [Jan 16 15:54:15] == Extension Changed 137[StumpelZwaag] new state InUse
    for Notify User 001565150F04.1

    [Jan 16 15:54:15] — Executing [123@StumpelZwaag:1]
    Wait(“SIP/000B822FD265-0000003d”, “2”) in new stack

    [Jan 16 15:54:17] — Executing [123@StumpelZwaag:2]
    SayDigits(“SIP/000B822FD265-0000003d”, “123”) in new stack

    [Jan 16 15:54:17] — Playing ‘digits/1.gsm’
    (language ‘nl’)

    [Jan 16 15:54:17] — Playing ‘digits/2.gsm’
    (language ‘nl’)

    [Jan 16 15:54:18] — Playing ‘digits/3.gsm’
    (language ‘nl’)

    [Jan 16 15:54:18] — Auto fallthrough, channel
    ‘SIP/000B822FD265-0000003d’ status is ‘UNKNOWN’

    [Jan 16 15:54:18] == Extension Changed 137[StumpelZwaag] new state Idle
    for Notify User 001565150F04.1

    This is the call that doesn’t work. Then when I call 200, I see this:

    [Jan 16 15:54:29] == Using SIP RTP CoS mark 5

    [Jan 16 15:54:29] == Extension Changed 137[StumpelZwaag] new state InUse
    for Notify User 001565150F04.1

    [Jan 16 15:54:29] — Executing [200@StumpelZwaag:1]
    Answer(“SIP/000B822FD265-0000003e”, “”) in new stack

    [Jan 16 15:54:29] — Executing [200@StumpelZwaag:2]
    BackGround(“SIP/000B822FD265-0000003e”, “main-menu”) in new stack

    [Jan 16 15:54:29] — Playing ‘main-menu.gsm’
    (language ‘nl’)

    [Jan 16 15:54:30] — Executing [200@StumpelZwaag:3]
    WaitExten(“SIP/000B822FD265-0000003e”, “5”) in new stack

    [Jan 16 15:54:34] == CDR updated on SIP/000B822FD265-0000003e

    [Jan 16 15:54:34] — Executing [123@StumpelZwaag:1]
    Wait(“SIP/000B822FD265-0000003e”, “2”) in new stack

    [Jan 16 15:54:36] — Executing [123@StumpelZwaag:2]
    SayDigits(“SIP/000B822FD265-0000003e”, “123”) in new stack

    [Jan 16 15:54:36] — Playing ‘digits/1.gsm’
    (language ‘nl’)

    [Jan 16 15:54:36] — Playing ‘digits/2.gsm’
    (language ‘nl’)

    [Jan 16 15:54:37] — Playing ‘digits/3.gsm’
    (language ‘nl’)

    [Jan 16 15:54:37] — Auto fallthrough, channel
    ‘SIP/000B822FD265-0000003e’ status is ‘UNKNOWN’

    [Jan 16 15:54:37] == Extension Changed 137[StumpelZwaag] new state Idle
    for Notify User 001565150F04.1

    This call works perfectly. What am I missing?

    In my sip.conf I have:

    [stumpel-zwaag](!) ; create template for our
    devices

    type=friend ; the channel driver will
    mathc on username first, IP second

    context=StumpelZwaag ; this is where calls from
    the device will enter the dialplan

    host=dynamic ; the device will register
    with asterisk

    ;nat=yes ; assume the device
    is behind nat

    secret=xxx ; a secure password for this device

    dtmfmode=auto ; accept touch-tones from
    devices, negotiated automatically

    disallow=all ; reset with voice codecs to
    accept from, and request to, the device

    allow=alaw ; which audio codecs we
    accept from

    canreinvite=nonat

  • Ok, got it. Indeed, starting with Answer() helped.

    But I still don’t understand why the parking feature isn’t working then. I
    used the sample config. Transfer the call to 700, playback of the lot is
    being executed, but I hear nothing. Probably the same problem, but how do I
    change this?

  • Post your dialplan snippet you use to park the call.

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Roland
    Sent: Monday, January 16, 2012 9:57 AM

    Ok, got it. Indeed, starting with Answer() helped.

    But I still don’t understand why the parking feature isn’t working then. I
    used the sample config. Transfer the call to 700, playback of the lot is
    being executed, but I hear nothing. Probably the same problem, but how do I
    change this?

    You aren’t “opening the line” in the 123 call. In the 200 call, the
    Answer() opens the output audio channel. In the 123 call you are “plunging”
    into the SayDigits() function without opening the channel. Some functions
    will generate their own Answer() if not present, others will not.

    [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Roland
    Sent: Monday, January 16, 2012 9:22 AM

    In addition: I tried adding Playback(hello) to the 123 extension, before the
    SayDigits. Then everything is being played perfectly.

    Also when I park a call to 700, I cannot hear the playback of the parking
    lot. I do see this in the logs though, so I can pickup the call then, but it
    should be played back to the one who is parking of course.

    So something seems to be wrong with SayDigits?

    Hi,

    I have this wierd problem where SayDigits does work when I execute it via a
    menu, but not when calling directly. In my extensions, I have this setup:

    exten => 200,1,Answer()

    same => n,Background(main-menu)

    same => n,WaitExten(5)

    exten => 123,1,Wait(2)

    same => n,SayDigits(${EXTEN})

    Now when I call 200, I hear the menu, and then when I press 123, it plays
    back one two three. Everything is OK.

    When I call 123 from the same phone, I do see that the sound files are being
    played to me, but I don’t hear any sound.

    In Asterisk CLI I see this:

    [Jan 16 15:54:15] == Extension Changed 137[StumpelZwaag] new state InUse
    for Notify User 001565150F04.1

    [Jan 16 15:54:15] — Executing [123@StumpelZwaag:1]
    Wait(“SIP/000B822FD265-0000003d”, “2”) in new stack

    [Jan 16 15:54:17] — Executing [123@StumpelZwaag:2]
    SayDigits(“SIP/000B822FD265-0000003d”, “123”) in new stack

    [Jan 16 15:54:17] — Playing ‘digits/1.gsm’
    (language ‘nl’)

    [Jan 16 15:54:17] — Playing ‘digits/2.gsm’
    (language ‘nl’)

    [Jan 16 15:54:18] — Playing ‘digits/3.gsm’
    (language ‘nl’)

    [Jan 16 15:54:18] — Auto fallthrough, channel
    ‘SIP/000B822FD265-0000003d’ status is ‘UNKNOWN’

    [Jan 16 15:54:18] == Extension Changed 137[StumpelZwaag] new state Idle
    for Notify User 001565150F04.1

    This is the call that doesn’t work. Then when I call 200, I see this:

    [Jan 16 15:54:29] == Using SIP RTP CoS mark 5

    [Jan 16 15:54:29] == Extension Changed 137[StumpelZwaag] new state InUse
    for Notify User 001565150F04.1

    [Jan 16 15:54:29] — Executing [200@StumpelZwaag:1]
    Answer(“SIP/000B822FD265-0000003e”, “”) in new stack

    [Jan 16 15:54:29] — Executing [200@StumpelZwaag:2]
    BackGround(“SIP/000B822FD265-0000003e”, “main-menu”) in new stack

    [Jan 16 15:54:29] — Playing ‘main-menu.gsm’
    (language ‘nl’)

    [Jan 16 15:54:30] — Executing [200@StumpelZwaag:3]
    WaitExten(“SIP/000B822FD265-0000003e”, “5”) in new stack

    [Jan 16 15:54:34] == CDR updated on SIP/000B822FD265-0000003e

    [Jan 16 15:54:34] — Executing [123@StumpelZwaag:1]
    Wait(“SIP/000B822FD265-0000003e”, “2”) in new stack

    [Jan 16 15:54:36] — Executing [123@StumpelZwaag:2]
    SayDigits(“SIP/000B822FD265-0000003e”, “123”) in new stack

    [Jan 16 15:54:36] — Playing ‘digits/1.gsm’
    (language ‘nl’)

    [Jan 16 15:54:36] — Playing ‘digits/2.gsm’
    (language ‘nl’)

    [Jan 16 15:54:37] — Playing ‘digits/3.gsm’
    (language ‘nl’)

    [Jan 16 15:54:37] — Auto fallthrough, channel
    ‘SIP/000B822FD265-0000003e’ status is ‘UNKNOWN’

    [Jan 16 15:54:37] == Extension Changed 137[StumpelZwaag] new state Idle
    for Notify User 001565150F04.1

    This call works perfectly. What am I missing?

    In my sip.conf I have:

    [stumpel-zwaag](!) ; create template for our
    devices

    type=friend ; the channel driver will
    mathc on username first, IP second

    context=StumpelZwaag ; this is where calls from
    the device will enter the dialplan

    host=dynamic ; the device will register
    with asterisk

    ;nat=yes ; assume the device
    is behind nat

    secret=xxx ; a secure password for this device

    dtmfmode=auto ; accept touch-tones from
    devices, negotiated automatically

    disallow=all ; reset with voice codecs to
    accept from, and request to, the device

    allow=alaw ; which audio codecs we
    accept from

    canreinvite=nonat

  • I am just starting with Asterisk .. I think you are right, I am doing an
    attended transfer, although I don’t exactly understand what that means. I
    still need to know in what lot I can pickup my call again right?

    Ok, my config .. (i will leave out the commented stuff, because there’s lot
    of comments in the sample config)

    [general]
    parkext => 700 ; What extension to dial to park. Set per
    parking lot.
    parkpos => 701-720 ; What extensions to park calls on.
    (defafult parking lot)
    context => parkedcalls ; Which context parked calls are in
    (default parking lot)
    parkingtime => 300 ; Number of seconds a call can be parked
    before returning.
    comebacktoorigin = yes ; Setting this option configures the
    behavior of call parking when the
    courtesytone = beep ; Sound file to play to when someone picks
    up a parked call
    parkedplay = both ; Who to play courtesytone to when picking up
    a parked call.

    Thanks!