Unknown CallerID transmitted from Grandstream GXW4108

Dear Fellows,

I have a FreePBX with GXW4108 for the FXO lines.
It does detect the incomming CallerID, here’s one log from the GXW:

Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 ---------- CID Reporting (FSK)----------- Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Date and time: 10221340 (MMDDHHMM) Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Number: 024558955 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 DID Number: 851805 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Call Type: 1 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Field type 0x0016, Len: 1, info: #0120#026EWSD from SIEMENS Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Field type 0x0030, Len: 22, info: EWSD from SIEMENS Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 ---------- CID Reporting (end) ---------- Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Capture completed. Starts @ 0x80E5DC00 len=0000BB80 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Finish cid analysis.

Etc, etc. Yet, when it passes it to the Asterisk, it gets an unknown CallerID:

Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 ---------- CID Reporting (FSK)----------- Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Date and time: 10221340 (MMDDHHMM) Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Number: 024558955 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 DID Number: 851805 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Call Type: 1 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Field type 0x0016, Len: 1, info: #0120#026EWSD from SIEMENS Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Field type 0x0030, Len: 22, info: EWSD from SIEMENS Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 ---------- CID Reporting (end) ---------- Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Capture completed. Starts @ 0x80E5DC00 len=0000BB80 Oct 22 13:40:56 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.3.4.10] FXO_CID: Port: 0 Finish cid analysis.

I suspect that this is either a firmware problem in the GXW (Program–1.3.4.10 Loader–1.1.3.4 Boot–1.1.3.2 at the moment) or more probably some inbound route trick…

PBX Firmware: 3.211.63-6
PBX Service Pack: 1.0.0.0

Any tips, please?

Hi clouseau,

I would suggest you to check with following settings in FXO line page.

  1. Number of Rings Before Pickup: ch1-4:4;
  2. Caller ID Scheme: ch1-4:1;
  3. Caller ID Transport Type: ch1-4:1;

Gateway Supports 3 Transport Types-

  1. Relay via SIP From
  2. Relay via SIP P-Asserted-Identity
  3. Send Anonymous

Try using “Relay via SIP From” for FreePBX

Hi GSSupport,

Thanks for Your effort. Then number of rings before pickup is 2, as for my country goes ESTI-FSK between the 1st and the 2nd ring tone. And as you can see on the Grandstream’s log, it does resolve the Caller ID.

Regarding transports, I’ve tried all 3 of them. 1st two give Unknown caller ID, but when I set it to Anonymous it transports Anonymous to the PBX…meaning, the SIP headers and communication should be fine.

Even more intersting is as follows. I have 7 analogue lines in the Grandstream, 3 of them are PSTN, behaving as described and 4 are analogue outputs from ISDN terminators. Caller ID is transported correctly when the call comes from the ISDN! Since SIP settings for the Grandstream are global, it would either work or not work at all. I’m starting to suspect that it’s about a faulty firmware in the Grandstream. There’s 2 generations newer FW for the device, so I’ll try to upgrade it.

Sorry,

Here goes the paste from the Asterisk log, when it receives the CallerID from the GXW:

[2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:1] Set("SIP/FXO-1-00002e7d", "TOUCH_MONITOR=1382442056.12019") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:1] Set("SIP/FXO-1-00002e7d", "TOUCH_MONITOR=1382442056.12019") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:2] Set("SIP/FXO-1-00002e7d", "AMPUSER=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:2] Set("SIP/FXO-1-00002e7d", "AMPUSER=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:3] GotoIf("SIP/FXO-1-00002e7d", "0?report") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:3] GotoIf("SIP/FXO-1-00002e7d", "0?report") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:4] ExecIf("SIP/FXO-1-00002e7d", "1?Set(REALCALLERIDNUM=unknown)") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:4] ExecIf("SIP/FXO-1-00002e7d", "1?Set(REALCALLERIDNUM=unknown)") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:5] Set("SIP/FXO-1-00002e7d", "AMPUSER=") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:5] Set("SIP/FXO-1-00002e7d", "AMPUSER=") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:6] Set("SIP/FXO-1-00002e7d", "AMPUSERCIDNAME=") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:6] Set("SIP/FXO-1-00002e7d", "AMPUSERCIDNAME=") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:7] GotoIf("SIP/FXO-1-00002e7d", "1?report") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:7] GotoIf("SIP/FXO-1-00002e7d", "1?report") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Goto (macro-user-callerid,s,15) [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Goto (macro-user-callerid,s,15) [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:15] GotoIf("SIP/FXO-1-00002e7d", "0?continue") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:15] GotoIf("SIP/FXO-1-00002e7d", "0?continue") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:16] Set("SIP/FXO-1-00002e7d", "__TTL=64") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:16] Set("SIP/FXO-1-00002e7d", "__TTL=64") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:17] GotoIf("SIP/FXO-1-00002e7d", "1?continue") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:17] GotoIf("SIP/FXO-1-00002e7d", "1?continue") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Goto (macro-user-callerid,s,28) [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Goto (macro-user-callerid,s,28) [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:28] Set("SIP/FXO-1-00002e7d", "CALLERID(number)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:28] Set("SIP/FXO-1-00002e7d", "CALLERID(number)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:29] Set("SIP/FXO-1-00002e7d", "CALLERID(name)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:29] Set("SIP/FXO-1-00002e7d", "CALLERID(name)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:30] Set("SIP/FXO-1-00002e7d", "CDR(cnum)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:30] Set("SIP/FXO-1-00002e7d", "CDR(cnum)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:31] Set("SIP/FXO-1-00002e7d", "CDR(cnam)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:31] Set("SIP/FXO-1-00002e7d", "CDR(cnam)=unknown") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:32] Set("SIP/FXO-1-00002e7d", "CHANNEL(language)=en") in new stack [2013-10-22 13:40:56] VERBOSE[26801][C-00002beb] pbx.c: -- Executing [s@macro-user-callerid:32] Set("SIP/FXO-1-00002e7d", "CHANNEL(language)=en") in new stack

I successfuly upgraded the firmware, and still no change. The GXW correctly detects the callerID:

Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 ---------- CID Reporting (FSK)----------- Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 Date and time: 10290837 (MMDDHHMM) Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 Number: 0112023636 Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 DID Number: 024851805 Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 Call Type: 1 Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 Field type 0x0016, Len: 1, info: #0120#021EWSD from SIEMENS Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 Field type 0x0030, Len: 17, info: EWSD from SIEMENS Oct 29 08:37:03 192.168.201.201 GS_LOG: [00:0B:82:36:95:F9][000][9660000220A][1.4.1.4] FXO_CID: Port: 0 ---------- CID Reporting (end) ----------

But it still reports

[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:28] Set(“SIP/FXO-1-00003372”, “CALLERID(number)=unknown”) in new stack
[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:28] Set(“SIP/FXO-1-00003372”, “CALLERID(number)=unknown”) in new stack
[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:29] Set(“SIP/FXO-1-00003372”, “CALLERID(name)=unknown”) in new stack
[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:29] Set(“SIP/FXO-1-00003372”, “CALLERID(name)=unknown”) in new stack
[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:30] Set(“SIP/FXO-1-00003372”, “CDR(cnum)=unknown”) in new stack
[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:30] Set(“SIP/FXO-1-00003372”, “CDR(cnum)=unknown”) in new stack
[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:31] Set(“SIP/FXO-1-00003372”, “CDR(cnam)=unknown”) in new stack
[2013-10-29 08:37:03] VERBOSE[5805][C-00002fb1] pbx.c: – Executing [s@macro-user-callerid:31] Set(“SIP/FXO-1-00003372”, “CDR(cnam)=unknown”) in new stack

I’m starting to think that there are 2 possibilities:

  1. either the FreePBX + GXW4108 combination does not work
  2. something is very wrong with my FreePBX setup.

From the side of the GXW I tried both transports, all same as before. Any more ideas?

Thanks,
Istvan

…by upgrading the firmware and setting the number of rings before pickup from 2 to 3.
In my country, callerID is transmitted with ETSI-FSK between the 1st and the second ring tone. I have no other explanation, but that the GXW had enough time to write the callerID to the system log, but not enough time to postprocess it and insert it into the SIP invitation. ISDN terminators probably transmit the CallerID just bit earlier. This could explain that it worked every time when the call was comming from the ISDN terminals, but very rarely when comimg from PSTN direct lines.
One more “ring time” perhapes give it just enough time to make it work.