[asterisk-bugs] [JIRA] (PRI-168) DISCONNECT with Progress Indicator #8

Armen Karlozian (JIRA) noreply at issues.asterisk.org
Fri May 23 01:25:43 CDT 2014


    [ https://issues.asterisk.org/jira/browse/PRI-168?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=218415#comment-218415 ] 

Armen Karlozian commented on PRI-168:
-------------------------------------

Hi everybody,

OK after a few days of tests and some anger/frustration I _think_ I've finally gotten things to work!

In essence, I have created a new built in app called {{SendPRIDisconnectPI8}}.  

The way it works is you set the Cause Code via the {{PRI_CAUSE}} variable and then you call {{SendPRIDisconnectPI8()}}. What this does is send the {{DISCONNECT}} message to the phone with the cause code and keeps the channel for about 30 seconds for you to play whatever announcement (or tone) is required, as the case may be.

Since it uses the {{Q931_DISCONNECT}} routine, I made sure that it will NOT keep the channel up if the cause code received is a 16 (Normal Clearing) or 31 (Clearing unspecified).  

Anyways, I've been using this for the past 3 days and it seems to be working fine... I haven't noticed anything yet.  So, I am *humbly* submitting this for your review!  As I mentioned before, I am by no means a professional programmer so please forgive any mistakes or sloppiness!

I have attached the files required and wherever the changes are made I have commented with my name "ARMEN" so you can see what I have done.  Again, I am using 1.4.14 LibPRI,  and 12.2.0 Asterisk.

Cheers,
Armen

> DISCONNECT with Progress Indicator #8
> -------------------------------------
>
>                 Key: PRI-168
>                 URL: https://issues.asterisk.org/jira/browse/PRI-168
>             Project: LibPRI
>          Issue Type: New Feature
>      Security Level: None
>    Affects Versions: 1.4.13
>            Reporter: Armen Karlozian
>            Severity: Minor
>
> Hi everyone,
> As you know, currently when the Hangup() command is used in the Asterisk dial plan, it will tear down both the far and and near end of the call and audio amongst other things.  In addition, there is a way of indicating the PRI Cause Code to the user by entering the code within the parenthesis ie: Hangup(1) or Hangup(16), etc.
> Here is the issue:  We have a PBX connected to an E1/PRI from the Telco.  This is a production system and does not use Asterisk.  On this system, whenever someone dials a number which is busy, for example, the phone's display will show the standard PRI message "user busy" and the user will hear an engaged signal (busy signal).  Likewise, if a wrong number is dialled, the display will show "unallocated num" and another tone or message will be heard.... and so on.
> Currently, we're doing tests on the same type of system connected to Asterisk via an E1/PRI and have found that this does not happen.  Basically, if the user dials a busy number, they will hear a busy signal but they won't see the "user busy" message.  Alternatively, if we change the extension script a bit, we can issue a Hangup(17) to make the phone show "user busy" but then there's no way to play the busy signal because the phone/channel hangs up.
> SO....
> Would it be possible to perhaps create a new function called "SendPRICause()" (kind of like the SendText function for SIP phones) so that we can use that instead of Hangup()?
> This way the use can see the message and hear whatever recording needs to be played to them at the same time.
> An example of its usage could be:
> exten => s-DN_CHANGED,1,Progress()
> exten => s-DN_CHANGED,1,SendPRICause(22)
> exten => s-DN_CHANGED,n,Playback(/var/lib/asterisk/sounds/tel/sorry-number-changed,noanswer)
> exten => s-DN_CHANGED,n,Hangup()
> --------------------------
> Cheers,
> Armen



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list