RE: [asterisk-users] Detecting Disconnected Numbers - PRI

2007-01-23 Thread Michael Collins
 The correct way to determine the ending cause of a call is the
 ${HANGUPCAUSE} variable that Dial creats.  Just to be sure, set
 priindication=outofband in /etc/asterisk/zapata.conf.  HANGUPCAUSE
 should always be set.
 

HANGUPCAUSE is indeed always set.  The question is, Set with what data?
The problem is that the telco doesn't consistently and uniformly send
back the Q.931 hangup cause.  Believe me, I've pored over mountains of
Q.931 logs, both with inband and outofband signaling.  The telcos just
plain suck at delivering this information consistently.  They usually
get it right, but when you are making tens of thousands of dial attempts
per day and the telco is giving you accurate info 90% of the time then
you still have 100's of call records with suspect data.  Garbage in,
garbage out.  

My work around is to make multiple attempts on so-called invalid numbers
and to keep track of the results.  If I dial a phone number and get
hangup cause 16 less than two seconds after the dial attempt, and if I
can repeat that result, then I assume it is truly a disconnected or
otherwise invalid number. 

-MC
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Detecting Disconnected Numbers - PRI

2007-01-23 Thread Mark Edwards

Mike, my friend, you have hit the nail on the head - and thanks for the
support - it's good to know I'm not alone with this issue.

I am working with 4 customer callcentre sites to resolve this problem. 3
sites are in Melbourne (Aus) and one in Auckland. The Auckland site is
dialing international back to Australia.

Oddly, the telco in New Zealand is providing a much richer PROGRESS
indication set for internationally dialled numbers than I am getting for the
same numbers dialled locally from here in Melbourne. Although it's not true
for all numbers, the ones in question have no cause code associated with the
PROGRESS indication and they all seem to have voice treatment during the
PROGRESS indication - kindly telling me that I have dialled a wrong number,
or that it is going to divert off somewhere else.

All sites have requested out of band indications for PRI, but it looks like
the only way to resolve this issue once and for all telcos is to assume that
we are going to hang up immediately we receive a PROGRESS indication. I know
this is not ideal and will result in quite a few false positives but it is
likely to be right for more numbers than it is going to be wrong.

I'd be grateful for your thoughts on this direction. Your comments so far
have been very useful.

As for the telco's saying PRI is good but not perfect - I would struggle
to understand how they would improve on this position. I mean what else is
available for multi-channel exchange termination?

cheers,

Mark.




On 1/23/07, Michael Collins [EMAIL PROTECTED] wrote:


 The correct way to determine the ending cause of a call is the
 ${HANGUPCAUSE} variable that Dial creats.  Just to be sure, set
 priindication=outofband in /etc/asterisk/zapata.conf.  HANGUPCAUSE
 should always be set.


HANGUPCAUSE is indeed always set.  The question is, Set with what data?
The problem is that the telco doesn't consistently and uniformly send
back the Q.931 hangup cause.  Believe me, I've pored over mountains of
Q.931 logs, both with inband and outofband signaling.  The telcos just
plain suck at delivering this information consistently.  They usually
get it right, but when you are making tens of thousands of dial attempts
per day and the telco is giving you accurate info 90% of the time then
you still have 100's of call records with suspect data.  Garbage in,
garbage out.

My work around is to make multiple attempts on so-called invalid numbers
and to keep track of the results.  If I dial a phone number and get
hangup cause 16 less than two seconds after the dial attempt, and if I
can repeat that result, then I assume it is truly a disconnected or
otherwise invalid number.

-MC
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users





--
regards,

Mark P. Edwards
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


[asterisk-users] Detecting Disconnected Numbers - PRI

2007-01-22 Thread Mark Edwards

I am trying to automatically detect disconnected numbers when using the
outbound dialer I have written.

* Some numbers hang up immediately with a Cause Code  0 and no voice
treatment
* Some numbers get voice treatment with a PROGRESS indication and an
associated Cause Code  0
* Some numbers get voice treatment with a PROGRESS indication and no
associated cause code (CC=0)

My application can pick up the PROGRESS indication (if I get one) and handle
the hangup, but not if I don't get a cause code!

Is there anything I can do to ensure that I always get a PROGRESS indication
with cause code or a hangup with cause code?
Behaviour of the PRI seems to differ across telcos and also across numbers.

I don't want to just assume hangup on PROGRESS indication as this may not be
a disconnected number - it might be a forwarded or redirected number.

I need to achieve consistency and this is proving very difficult.

Has anyone else had this issue and if so, which tree should I be barking up?

cheers,

Mark.


--
regards,

Mark P. Edwards
___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


RE: [asterisk-users] Detecting Disconnected Numbers - PRI

2007-01-22 Thread Michael Collins
original message
I am trying to automatically detect disconnected numbers when using the 
outbound dialer I have written.
 
* Some numbers hang up immediately with a Cause Code  0 and no voice treatment
* Some numbers get voice treatment with a PROGRESS indication and an associated 
Cause Code  0
* Some numbers get voice treatment with a PROGRESS indication and no associated 
cause code (CC=0)
 
My application can pick up the PROGRESS indication (if I get one) and handle 
the hangup, but not if I don't get a cause code!
 
Is there anything I can do to ensure that I always get a PROGRESS indication 
with cause code or a hangup with cause code? 
Behaviour of the PRI seems to differ across telcos and also across numbers.
 
I don't want to just assume hangup on PROGRESS indication as this may not be a 
disconnected number - it might be a forwarded or redirected number.
 
I need to achieve consistency and this is proving very difficult. 
 
Has anyone else had this issue and if so, which tree should I be barking up?
 
/original message


Yep, I experienced this frequently.  I have several PRI vendors and they all 
give me the same line of crap: Well, PRI is good, but it's not perfect...  
Sad but true.  I feel comfortable in saying that there is no 100% guaranteed 
way of detecting disconnected numbers on a PRI.  I've done lots of testing and 
come to the conclusion that you have to do your best to work around it.  For 
example, I know that phone number xxx-yyy- is disconnected.  I dial it 25 
times with Asterisk.  18 times I get one cause code (like 'invalid' or fast 
busy - I don't recall the exact cause code number), 6 times I get PROGRESS 
indicating ring-no answer and 1 time I get traditional busy.  All calls to same 
phone number, same provider, made one right after the other.  Oddly enough, if 
I call the number on a POTS line I *ALWAYS* get the disconnect message.  It's 
one case where advanced technology yields poorer results than the old stuff.

I know that doesn't help but I wanted you to know that you're not alone.

-MC


___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users


Re: [asterisk-users] Detecting Disconnected Numbers - PRI

2007-01-22 Thread Eric \ManxPower\ Wieling

Michael Collins wrote:

original message
I am trying to automatically detect disconnected numbers when using the 
outbound dialer I have written.
 
* Some numbers hang up immediately with a Cause Code  0 and no voice treatment

* Some numbers get voice treatment with a PROGRESS indication and an associated 
Cause Code  0
* Some numbers get voice treatment with a PROGRESS indication and no associated 
cause code (CC=0)
 
My application can pick up the PROGRESS indication (if I get one) and handle the hangup, but not if I don't get a cause code!
 
Is there anything I can do to ensure that I always get a PROGRESS indication with cause code or a hangup with cause code? 
Behaviour of the PRI seems to differ across telcos and also across numbers.
 
I don't want to just assume hangup on PROGRESS indication as this may not be a disconnected number - it might be a forwarded or redirected number.
 
I need to achieve consistency and this is proving very difficult. 
 
Has anyone else had this issue and if so, which tree should I be barking up?
 
/original message



Yep, I experienced this frequently.  I have several PRI vendors and they all give me the 
same line of crap: Well, PRI is good, but it's not perfect...  Sad but true.  
I feel comfortable in saying that there is no 100% guaranteed way of detecting 
disconnected numbers on a PRI.  I've done lots of testing and come to the conclusion that 
you have to do your best to work around it.  For example, I know that phone number 
xxx-yyy- is disconnected.  I dial it 25 times with Asterisk.  18 times I get one 
cause code (like 'invalid' or fast busy - I don't recall the exact cause code number), 6 
times I get PROGRESS indicating ring-no answer and 1 time I get traditional busy.  All 
calls to same phone number, same provider, made one right after the other.  Oddly enough, 
if I call the number on a POTS line I *ALWAYS* get the disconnect message.  It's one case 
where advanced technology yields poorer results than the old stuff.

I know that doesn't help but I wanted you to know that you're not alone.


The correct way to determine the ending cause of a call is the 
${HANGUPCAUSE} variable that Dial creats.  Just to be sure, set 
priindication=outofband in /etc/asterisk/zapata.conf.  HANGUPCAUSE 
should always be set.


___
--Bandwidth and Colocation provided by Easynews.com --

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users