Help with CallerID Name on PRI

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#1
Hello,
I need help with implementation of a solution I want to try.
Here is the problem first.
I have Elastix 2.0.3 that is connected via T1/PRI card to the telco.
The context for the PRI channels is from_pstn.
When inbound call arrives on a channel, the internal phone's displays show only the callerid number on two rows and doesn't show the caller id name.
I used pri intense debug and verified that telco sends the callerid name in addition to caller id number, here is the result from debug command:

< Message Type: FACILITY (98)
< [1c 1d 9f 8b 01 00 a1 17 02 01 01 02 01 00 80 0f 4d 49 48 41 59 4c 4f 56 20 4d 49 48 41 49 4c]
< Facility (len=31, codeset=0) [ 0x9F, 0x8B, 0x01, 0x00, 0xA1, 0x17, 0x02, 0x01, 0x01, 0x02, 0x01, 0x00, 0x80, 0x0F, 'MIHAYLOV MIHAIL' ]
Received message for call 0xb74b6420 on 0xb7b1b300 TEI/SAPI 0/0, call->pri is 0xb7b1b300 TEI/SAPI 0/0
-- Processing IE 28 (cs0, Facility)
-- Delayed processing IE 28 (cs0, Facility)
ASN.1 dump
Context Specific [11 0x0B] <8B> Len:1 <01>
<00> - "~"
Context Specific/C [1 0x01] <A1> Len:23 <17>
Integer(2 0x02) <02> Len:1 <01>
<01> - "~"
Integer(2 0x02) <02> Len:1 <01>
<00> - "~"
Context Specific [0 0x00] <80> Len:15 <0F>
<4D 49 48 41 59 4C 4F 56-20 4D 49 48 41 49 4C> - "MIHAYLOV MIHAIL"
ASN.1 end
interpretation Context Specific [11 0x0B] = 0 0x0000


Searching for solution I have found the following:

On ISDN PRI lines (US NI-2 type) Callerid name information CNAM is transmitted in a separate FACILITY IE. some time AFTER the initial SETUP message. If you are using CNAM in your dialplan make sure to insert a wait statement before using the calleridname variable. Otherwise CALLERIDNAME will not be populated initially.

i.e.:
exten => _X.,1,NoOp,${CALLERIDNAME} ; will be empty. - FACILITY IE has not been received yet.
exten => _X.,2,Wait(1) ; wait for the CO to find the name in the database
exten => _X.,3,NoOp,${CALLERIDNAME} ; now it shows the name


I need help to implement this. Just don't know where to put that part:
exten => _X.,2,Wait(1) ; wait for the CO to find the name in the database

Any help and directions would be greatly appreciated,
Thanks.
 

fmvillares

Joined
Sep 8, 2007
Messages
1,785
Likes
0
Points
0
#2
in which country u are? the us?
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#3
Yes, I am in Alaska, US :)
 

fmvillares

Joined
Sep 8, 2007
Messages
1,785
Likes
0
Points
0
#4
which standars r u using national 2?
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#5
This is chan_dahdi.conf

;Sangoma A102 port 1 [slot:4 bus:13 span:1] <wanpipe1>
switchtype=national
context=from-pstn
group=0
echocancel=yes
signalling=pri_cpe
channel =>1-8

;Sangoma A102 port 2 [slot:4 bus:13 span:2] <wanpipe2>
switchtype=national
context=from-internal
group=1
echocancel=yes
signalling=pri_net
channel =>25-47


I think is national 2, yes.
 

fmvillares

Joined
Sep 8, 2007
Messages
1,785
Likes
0
Points
0
#6
Re: Re:Help with CallerID Name on PRI

and you re populating caller id and names from 1 to another? as i see u have the 2 t1 in crossover mode
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#7
Yes, the second span is in crossover mode, connecting me to another PBX.
The issue now is with the first port which connects me to the telco.
I have no idea where and what exactly in the dialplan should modify to make the asterisk to wait for that CID NAME information.
Any help with this?
 

fmvillares

Joined
Sep 8, 2007
Messages
1,785
Likes
0
Points
0
#8
Re: Re:Help with CallerID Name on PRI

do you have certainty that your telco has name caller id capabilities enabled in that e1????
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#9
It is T1, but anyway I am positive.
First because of the pri debug. You can see in my first post the FACILITY IE that contains my name MIHAIL MIHAYLOV.
Second because when I connect the very same T1 to another PBX(in my case 3Com NBX) the phones associated with 3Com NBX do display both the number and the name.
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#10
You will see in extensions_additional.conf something like that matches this particular trunk

[from-trunk-sip-pbx2pbx]
include => from-trunk-sip-pbx2pbx-custom
exten => _.,1,Set(GROUP()=OUT_4)
exten => _.,n,Goto(from-trunk,${EXTEN},1)


so you could try putting that snip in:-

from-trunk-sip-pbx2pbx-custom
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#11
Thank you very much. I apologise for my ignorance in that matter, but that will be my very first manual edit of an asterisk dial plan, moreover in a production system. That's why I kindly ask you for more detailed explanation, please.
I examined my extensions_additional.conf file and I am not sure that I could positively identify the context that matches this particular trunk.
I have attached a screen shot of the trunk in Elastix web-interface.

http://forum.elastix.org/old_files/Screenshot_Trunk.zip

Is this the context that matches this trunk?

[from-zaptel]
include => from-zaptel-custom
exten => _X.,1,Set(DID=${EXTEN})
exten => _X.,n,Goto(s,1)
exten => s,1,Noop(Entering from-zaptel with DID == ${DID})
exten => s,n,Ringing()
exten => s,n,Set(DID=${IF($["${DID}"= ""]?s:${DID})})
exten => s,n,Noop(DID is now ${DID})
exten => s,n,GotoIf($["${CHANNEL:0:5}"="DAHDI"]?zapok:notzap)
exten => s,n(notzap),Goto(from-pstn,${DID},1)
exten => s,n,Macro(Hangupcall,dummy)
exten => s,n(zapok),Noop(Is a Zaptel Channel)
exten => s,n,Set(CHAN=${CHANNEL:6})
exten => s,n,Set(CHAN=${CUT(CHAN,-,1)})
exten => s,n,Macro(from-zaptel-${CHAN},${DID},1)
exten => s,n,Noop(Returned from Macro from-zaptel-${CHAN})
exten => s,n,Goto(from-pstn,${DID},1)

; end of [from-zaptel]
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#12
No the trunk will arrive in the context of what you have in your setup file

/etc/asterisk/extensions_custom.conf

add it to a new context

[from-pstn-custom]
.
.
.
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#13
Thanks for the help Dicko.
I cannot figure it out, how the [from-zaptel-custom] has to look like in my case.
Could you post an example, that is waiting to receive CID NAME, please?

In that context [from-zaptel] I see that if the channel is DAHDI then goto [from-pstn].
If that is correct interpretation it confuses me - what exactly needs to be modified?
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#14
I'm sorry, I mis-spoke and corrected it. your calls land in what is defined in

/etc/asterisk/chan_dahdi.conf

if you use the standard from-pstn then

add the included context


[from-pstn-custom]
exten => _X.,1,NoOp,${CALLERIDNAME} ; will be empty. - FACILITY IE has not been received yet.
exten => _X.,2,Wait(1) ; wait for the CO to find the name in the database
exten => _X.,3,NoOp,${CALLERIDNAME} ; now it shows the name





to the bottom of

/etc/asterisk/extensions_custom.conf

you might get away with less of a wait with

exten => _X.,2,Exec(sleep(0.25)): wait 0.25 seconds for the CO to find the name in the database
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#15
OK, I made that change, reloaded the dial plan and the trunk stop working.
Reverted the change, reloaded the dial plan - the trunk is working again.
This is the log from the Asterisk:

[Mar 17 10:44:37] VERBOSE[3731] chan_dahdi.c: -- Accepting call from '9079571387' to '3799' on channel 0/4, span 1
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:1] Set("DAHDI/4-1", "__FROM_DID=3799") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:2] Gosub("DAHDI/4-1", "app-blacklist-check,s,1") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@app-blacklist-check:1] GotoIf("DAHDI/4-1", "0?blacklisted") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@app-blacklist-check:2] Set("DAHDI/4-1", "CALLED_BLACKLIST=1") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@app-blacklist-check:3] Return("DAHDI/4-1", "") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:3] ExecIf("DAHDI/4-1", "1 ?Set(CALLERID(name)=9079571387)") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:4] Set("DAHDI/4-1", "__CALLINGPRES_SV=allowed") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:5] Set("DAHDI/4-1", "CALLERPRES()=allowed_not_screened") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:6] Goto("DAHDI/4-1", "from-did-direct,3799,1") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Goto (from-did-direct,3799,1)
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-did-direct:1] Macro("DAHDI/4-1", "exten-vm,3799,3799") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-exten-vm:1] Macro("DAHDI/4-1", "user-callerid,") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:1] Set("DAHDI/4-1", "AMPUSER=9079571387") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/4-1", "0?report") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/4-1", "1?Set(REALCALLERIDNUM=9079571387)") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:4] Set("DAHDI/4-1", "AMPUSER=") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:5] Set("DAHDI/4-1", "AMPUSERCIDNAME=") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/4-1", "1?report") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Goto (macro-user-callerid,s,10)
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/4-1", "0?continue") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:11] Set("DAHDI/4-1", "__TTL=64") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/4-1", "1?continue") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Goto (macro-user-callerid,s,19)
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [s@macro-user-callerid:19] NoOp("DAHDI/4-1", "Using CallerID "9079571387" <9079571387>") in new stack


Where do you think that this part should be included

exten => _X.,1,NoOp,${CALLERIDNAME} ; will be empty. - FACILITY IE has not been received yet.
exten => _X.,2,Wait(1) ; wait for the CO to find the name in the database
exten => _X.,3,NoOp,${CALLERIDNAME} ; now it shows the name


May be in that macro-user-callerid or in [from-did-direct].
Or I have to add something in [from-pstn-custom] after
exten => _X.,3,NoOp,${CALLERIDNAME} ; now it shows the name
shouldn't I send this call somewhere?
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#16
No the call arrives in from-pstn
.
.
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:1] Set("DAHDI/4-1", "__FROM_DID=3799") in new stack
[Mar 17 10:44:37] VERBOSE[30192] pbx.c: -- Executing [3799@from-pstn:2] Gosub("DAHDI/4-1", "app-blacklist-check,s,1") in new stack
.
.

post a trace with the from-pstn-custom in effect which will be called before from-pstn

and yes add

exten => _X.,4,Goto(from-pstn,${EXTEN},1) ; return to pstn

sorry, I just suffer from CRS.
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#17
It is not working again.
When [from-pstn-custom] is

[from-pstn-custom]
exten => _X.,1,NoOp,${CALLERIDNAME} ; will be empty. - FACILITY IE has not been received yet.
exten => _X.,2,Wait(1) ; wait for the CO to find the name in the database
exten => _X.,3,NoOp,${CALLERIDNAME} ; now it shows the name
exten => _X.,4,Goto(from-pstn,${EXTEN},1) ; return to pstn
; end of [from-pstn-custom]


This is the log

[Mar 17 11:41:21] VERBOSE[3731] chan_dahdi.c: -- Accepting call from '9079571387' to '3799' on channel 0/5, span 1
[Mar 17 11:41:21] WARNING[30502] pbx.c: No application 'NoOp,${CALLERIDNAME}' for extension (from-pstn, 3799, 1)
[Mar 17 11:41:21] VERBOSE[30502] pbx.c: == Spawn extension (from-pstn, 3799, 1) exited non-zero on 'DAHDI/5-1'
[Mar 17 11:41:21] VERBOSE[30502] pbx.c: -- Executing [h@from-pstn:1] Hangup("DAHDI/5-1", "") in new stack
[Mar 17 11:41:21] VERBOSE[30502] pbx.c: == Spawn extension (from-pstn, h, 1) exited non-zero on 'DAHDI/5-1'
[Mar 17 11:41:21] VERBOSE[30502] chan_dahdi.c: -- Hungup 'DAHDI/5-1'


I think we shouldn't return it to [from-pstn], because [from-pstn] in turn sends it back to [from-pstn-custom], what do you think?

This is my [from-pstn]

[from-pstn]
include => from-pstn-custom ; create this context in extensions_custom.conf to include customizations
include => ext-did
include => ext-did-post-custom
include => from-did-direct ; MODIFICATION (PL) for findmefollow if enabled, should be before ext-local
include => ext-did-catchall ; THIS MUST COME AFTER ext-did


and this is ext-did

[ext-did]
include => ext-did-custom
include => ext-did-0001
include => ext-did-0002
exten => foo,1,Noop(bar)


then [ext-did-0001] and [ext-did-0002]

[ext-did-0001]
include => ext-did-0001-custom
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})

; end of [ext-did-0001]


[ext-did-0002]
include => ext-did-0002-custom
exten => fax,1,Goto(${CUT(FAX_DEST,^,1)},${CUT(FAX_DEST,^,2)},${CUT(FAX_DEST,^,3)})
exten => 2400,1,Set(__FROM_DID=${EXTEN})
exten => 2400,n,Gosub(app-blacklist-check,s,1)
exten => 2400,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 2400,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 2400,n,Set(CALLERPRES()=allowed_not_screened)
exten => 2400,n(dest-ext),Goto(from-did-direct,2400,1)
exten => 2450,1,Set(__FROM_DID=${EXTEN})
exten => 2450,n,Gosub(app-blacklist-check,s,1)
exten => 2450,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 2450,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 2450,n,Set(CALLERPRES()=allowed_not_screened)
exten => 2450,n(dest-ext),Goto(from-did-direct,2450,1)
exten => 3700,1,Set(__FROM_DID=${EXTEN})
exten => 3700,n,Gosub(app-blacklist-check,s,1)
exten => 3700,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3700,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3700,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3700,n(dest-ext),Goto(from-did-direct,3700,1)
exten => 3701,1,Set(__FROM_DID=${EXTEN})
exten => 3701,n,Gosub(app-blacklist-check,s,1)
exten => 3701,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3701,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3701,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3701,n(dest-ext),Goto(from-did-direct,3701,1)
exten => 3704,1,Set(__FROM_DID=${EXTEN})
exten => 3704,n,Gosub(app-blacklist-check,s,1)
exten => 3704,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3704,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3704,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3704,n(dest-ext),Goto(from-did-direct,3704,1)
exten => 3706,1,Set(__FROM_DID=${EXTEN})
exten => 3706,n,Gosub(app-blacklist-check,s,1)
exten => 3706,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3706,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3706,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3706,n(dest-ext),Goto(from-did-direct,3706,1)
exten => 3710,1,Set(__FROM_DID=${EXTEN})
exten => 3710,n,Gosub(app-blacklist-check,s,1)
exten => 3710,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3710,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3710,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3710,n(dest-ext),Goto(from-did-direct,3710,1)
exten => 3780,1,Set(__FROM_DID=${EXTEN})
exten => 3780,n,Gosub(app-blacklist-check,s,1)
exten => 3780,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3780,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3780,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3780,n(dest-ext),Goto(ext-meetme,8000,1)
exten => 3797,1,Set(__FROM_DID=${EXTEN})
exten => 3797,n,Gosub(app-blacklist-check,s,1)
exten => 3797,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3797,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3797,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3797,n(dest-ext),Goto(from-did-direct,3797,1)
exten => 3799,1,Set(__FROM_DID=${EXTEN})
exten => 3799,n,Gosub(app-blacklist-check,s,1)
exten => 3799,n,ExecIf($[ "${CALLERID(name)}" = "" ] ?Set(CALLERID(name)=${CALLERID(num)}))
exten => 3799,n,Set(__CALLINGPRES_SV=${CALLERPRES()})
exten => 3799,n,Set(CALLERPRES()=allowed_not_screened)
exten => 3799,n(dest-ext),Goto(from-did-direct,3799,1)

; end of [ext-did-0002]


 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#18
You are right, I read the extensions.conf file again

probable sent it to
exten => _X.,4,Goto(ext-did,${EXTEN},1) ; return to pstn

as that context is next in line. never really had to mess with this bit before, sorry.

[edit]

Probably more cleanly

[custom-trunk]
include => from-pstn
exten => _X.,1,NoOp,${CALLERID(name)} ; will be empty. - FACILITY IE has not been received yet.
exten => _X.,2,Wait(1) ; wait for the CO to find the name in the database
exten => _X.,3,NoOp,${CALLERID(name)} ; now it shows the name
exten => _X.,4,Goto(from-pstn,${EXTEN},1) ; return to pstn

and change the context of the trunk in

/etc/asterisk/chan_dahdi.conf


to custom-trunk
 

mihailenator@gmail.com

Joined
Dec 21, 2010
Messages
31
Likes
0
Points
0
#19
Wish you quick recovery, Dicko.

This is my [from-pstn-custom] now

[from-pstn-custom]
exten => _X.,1,NoOp,${CALLERIDNAME} ; will be empty. - FACILITY IE has not been received yet.
exten => _X.,2,Wait(1) ; wait for the CO to find the name in the database
exten => _X.,3,NoOp,${CALLERIDNAME} ; now it shows the name
exten => _X.,4,Goto(ext-did,${EXTEN},1) ; return to pstn
; end of [from-pstn-custom]


and this is the log

[Mar 17 12:04:49] VERBOSE[3731] chan_dahdi.c: -- Accepting call from '9079571387' to '3799' on channel 0/6, span 1
[Mar 17 12:04:49] WARNING[30548] pbx.c: No application 'NoOp,${CALLERIDNAME}' for extension (from-pstn, 3799, 1)
[Mar 17 12:04:49] VERBOSE[30548] pbx.c: == Spawn extension (from-pstn, 3799, 1) exited non-zero on 'DAHDI/6-1'
[Mar 17 12:04:49] VERBOSE[30548] pbx.c: -- Executing [h@from-pstn:1] Hangup("DAHDI/6-1", "") in new stack
[Mar 17 12:04:49] VERBOSE[30548] pbx.c: == Spawn extension (from-pstn, h, 1) exited non-zero on 'DAHDI/6-1'
[Mar 17 12:04:49] VERBOSE[30548] chan_dahdi.c: -- Hungup 'DAHDI/6-1'
 

dicko

Joined
Oct 24, 2008
Messages
4,099
Likes
0
Points
0
#20
Thanks, what was your name again?

I edited my previous post and remembered that CALLERIDNAME is now CALLERID(name) (see its that CRS again)

dicko
 

Members online

No members online now.

Latest posts

Forum statistics

Threads
30,900
Messages
130,884
Members
17,561
Latest member
marouen
Top