[Asterisk-Users] Syntax for hiding caller ID but still passing ANI?
Lorenzo Pallara
lpallara at cineca.it
Tue Aug 5 01:52:12 MST 2003
We did something like this in chan_zap at pri_call() time:
case SIG_PRI:
[...]
if (ast->callerid) {
strncpy(callerid, ast->callerid, sizeof(callerid)-1);
ast_callerid_parse(callerid, &n, &l);
if (l) {
ast_shrink_phone_number(l);
if (!ast_isphonenumber(l))
l = NULL;
}
}
[...]
if (l) {
pres = ast->hidecallerid ?
PRES_PROHIB_USER_NUMBER_NOT_SCREENED :
PRES_ALLOWED_USER
} else
pres = PRES_NUMBER_NOT_AVAILABLE;
if (pri_call(p->pri->pri, p->call,
p->digital ? PRI_TRANS_CAP_DIGITAL : PRI_TRANS_CAP_SPEEC
p->prioffset, p->pri->nodetype == PRI_NETWORK ? 0 : 1, 1, l,
p->pri->dialplan - 1,
c + p->stripmsd, p->pri->dialplan - 1,
((p->law == ZT_LAW_ALAW) ?PRI_LAYER_1_ALAW : PRI_LAYER_1_ULAW)))
{
[...]
where hidecallerid is a new field we added in ast_channel structure and it's
set by our apps...
As far as we can understand this should be more compliant to the q931 specs.
(and it works for us in Italy ;-)
my 2 cents,
Lorenzo
----- Original Message -----
From: "Martin Pycko" <martinp at digium.com>
To: <asterisk-users at lists.digium.com>
Sent: Monday, August 04, 2003 8:34 PM
Subject: Re: [Asterisk-Users] Syntax for hiding caller ID but still passing
ANI?
> l is set a couple of lines above. Basically l carries the nubmer so if
> there is no callerid in 'l' then we send this other flag 'callerid not
> available'.
>
> You need to choose one of these flags:
> /* Presentation */
> #define PRES_ALLOWED_USER_NUMBER_NOT_SCREENED 0x00
> #define PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN 0x01
> #define PRES_ALLOWED_USER_NUMBER_FAILED_SCREEN 0x02
> #define PRES_ALLOWED_NETWORK_NUMBER 0x03
> #define PRES_PROHIB_USER_NUMBER_NOT_SCREENED 0x20
> #define PRES_PROHIB_USER_NUMBER_PASSED_SCREEN 0x21
> #define PRES_PROHIB_USER_NUMBER_FAILED_SCREEN 0x22
> #define PRES_PROHIB_NETWORK_NUMBER 0x23
> #define PRES_NUMBER_NOT_AVAILABLE 0x43
>
> I think it might be PROHIB....PASSED_SCREEN but not sure. Check q931
> specs.
>
> Martin
>
>
> On Mon, 4 Aug 2003, John Todd wrote:
>
> >
> > I have a question regarding the flags for hiding caller ID presentation:
> >
> > My customer has a requirement that they are able to specify if
> > outbound calls (on a T100P) will have the caller ID displayed or not.
> > This could be easily solved, of course, by not setting a caller ID
> > when creating the outbound call. However, the PRI to which this
> > T100P is connected _must_ see a valid caller ID, and the caller ID is
> > used for billing purposes.
> >
> > I know that there is the ability to hide caller ID within the Zaptel
> > libraries, using the presentation flags. If set correctly, the
> > expected behavior would be that the ANI would be sent to the switch,
> > but with a flag that would tell the remote switch to suppress the
> > caller ID from being transmitted to the end user.
> >
> > How does one activate that presentation switch from within a dialplan?
> >
> > Searching the archives gives me some hints, but no answers.
> > Searching the code, I see in channels/chan_zap.c around line 1399
> > that the PRES_ALLOWED_USER_NUMBER_PASSED_SCREEN and
> > PRES_NUMBER_NOT_AVAILABLE are referenced, but I'm not clear on where
> > "l" is set, or even if that is a trigger. Can someone give me a hand
> > on syntax on this?
> >
> > JT
> > _______________________________________________
> > Asterisk-Users mailing list
> > Asterisk-Users at lists.digium.com
> > http://lists.digium.com/mailman/listinfo/asterisk-users
> >
>
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
>
>
More information about the asterisk-users
mailing list