[asterisk-dev] Looking for definitive answer for Busy() vs. Hangup() when used on a non-answered PRI channel

Richard Mudgett rmudgett at digium.com
Thu Jul 10 13:19:00 CDT 2014


On Thu, Jul 10, 2014 at 12:36 PM, Justin Killen <
jkillen at allamericanasphalt.com> wrote:

>   Okay, that makes sense.  So then, how does the answer()’d status affect
> that?  From my (admittedly limited) experience, it seems that playing
> in-band tones only works if the call has been answered?
>
>
>
> Here’s the setup I’m using, maybe it will help if I give an example of
> what I’m trying to figure out:
>
>
>
>
>
> Phone A <-sip-> asterisk site A <-PRI-> PTSN <-PRI-> asterisk site B
>
>
>
>
>
> If then I have a dialplan at site B for the dialed DID that looks like
> this:
>
>
>
> Playtone(busy)
>
> Busy(20)
>
>
>
> And given that I’m using default in-band tones, what is the expected
> resulting sound coming out of Phone A?
>

Inband tones before answering is known as early media.  After answering
it is just a normal audio path that the tones would go over.

Asterisk B in the above situation before answering with the shown dialplan
snippet, the Playtone() would effectively be a NoOp because nothing is shown
that would open a path for early media.  (The Progress() application should
be
done first to open the path.)  Then the Busy() would cause
chan_dahdi/sig_pri
to send a PROGRESS message toward Asterisk A if needed to open the media
path and start its own busy tones.  From Asterisk B to Phone A there are
several things that could block the early media.  The telco network,
Asterisk A configuration, and Phone A itself.

You may need to investigate these options on Asterisk A from
sip.conf.sample:
;prematuremedia=no              ; Some ISDN links send empty media frames
before
                                ; the call is in ringing or progress state.
The SIP
                                ; channel will then send 183 indicating
early media
                                ; which will be empty - thus users get no
ring signal.
                                ; Setting this to "yes" will stop any media
before we have
                                ; call progress (meaning the SIP channel
will not send 183 Session
                                ; Progress for early media). Default is
"yes". Also make sure that
                                ; the SIP peer is configured with
progressinband=never.
                                ;
                                ; In order for "noanswer" applications to
work, you need to run
                                ; the progress() application in the
priority before the app.

;progressinband=never           ; If we should generate in-band ringing
always
                                ; use 'never' to never use in-band
signalling, even in cases
                                ; where some buggy devices might not render
it
                                ; Valid values: yes, no, never Default:
never

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140710/87dabebc/attachment.html>


More information about the asterisk-dev mailing list