cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
4942
Views
0
Helpful
28
Replies

Caller ID not working on VIC2-2FXO with BT line

pholding1
Level 1
Level 1

I have recently setup a Cisco 1751-v router with a VIC2-2FXO card and a BT phone line, however after several attempts I am unable to successfully obtain the caller ID. The IOS version is 12.4(19).

The configuration of the voice-port is as follows

voice-port 2/0
supervisory disconnect dualtone mid-call
no comfort-noise
cptone GB
timeouts call-disconnect 5
timeouts wait-release 5
caller-id alerting dsp-pre-allocate

I have tried setting caller-id alerting to dsp-pre-allocate, line-reversal, pre-ring and ring (with the values 1, 2, 3 and 4), although each time the caller id is not obtained.

Are the caller-id alerting settings mutually exclusive? Looking at some examples on the web, it gives the impression that some configs have multiple caller-id alerting settings for the same voice port, however I am only able to set one.

The line has caller ID enabled and with an analogue phone and the clid is displayed on the second ring.

One thing I have noticed is that running show voice port 2/0 includes in the output "Caller ID Info Follows: Standard ETSI", however a google search shows that BT uses SIN227 (V23 FSK before first ring).

Has anyone successfully got caller ID working on a BT phone line with a VIC2-2FXO card? If so could you please let me know what config you are running for the voice port.

Is there anything else I can do to make this work correctly?

The output from debug vpm signal is as follows

*Nov 13 17:43:19.346 GMT: htsp_process_event: [2/0, FXOLS_ONHOOK, E_DSP_SIG_0000
]fxols_onhook_ringing
*Nov 13 17:43:19.346 GMT: htsp_timer - 125 msec
*Nov 13 17:43:19.478 GMT: htsp_process_event: [2/0, FXOLS_WAIT_RING_MIN, E_HTSP_
EVENT_TIMER]fxols_wait_ring_min_timer
*Nov 13 17:43:19.478 GMT: htsp_timer - 10000 msec
*Nov 13 17:43:20.446 GMT: htsp_process_event: [2/0, FXOLS_RINGING, E_DSP_SIG_010
0]
*Nov 13 17:43:20.446 GMT: fxols_ringing_not
*Nov 13 17:43:20.446 GMT: htsp_timer_stop
*Nov 13 17:43:20.446 GMT: htsp_timer_stop3
*Nov 13 17:43:20.446 GMT: [2/0] htsp_stop_caller_id_rx. message length 0htsp_set
up_ind
*Nov 13 17:43:20.446 GMT: [2/0] get_fxo_caller_id:Caller ID receive failed.  par
seCallerIDString:no data.
*Nov 13 17:43:20.450 GMT: [2/0] get_local_station_id calling num= calling name=
calling time=11/13 17:43  orig called=
*Nov 13 17:43:20.470 GMT: [2/0] htsp_dsm_close_done
*Nov 13 17:43:20.474 GMT: htsp_process_event: [2/0, FXOLS_WAIT_SETUP_ACK, E_HTSP
_SETUP_ACK]
*Nov 13 17:43:20.474 GMT: fxols_wait_setup_ack:
*Nov 13 17:43:20.474 GMT: [2/0] set signal state = 0xC timestamp = 0fxols_check_
auto_call
*Nov 13 17:43:20.726 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_DSP_SIG_
1100]fxols_offhook_disc
*Nov 13 17:43:20.730 GMT: htsp_timer2 - 350 msec
*Nov 13 17:43:21.082 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_EVE
NT_TIMER2]fxols_disc_confirm
*Nov 13 17:43:21.082 GMT: htsp_timer_stop
*Nov 13 17:43:21.082 GMT: htsp_timer_stop2
*Nov 13 17:43:21.082 GMT: htsp_timer_stop3
*Nov 13 17:43:21.090 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_REL
EASE_REQ]fxols_offhook_release
*Nov 13 17:43:21.094 GMT: htsp_timer_stop
*Nov 13 17:43:21.094 GMT: htsp_timer_stop2
*Nov 13 17:43:21.094 GMT: htsp_timer_stop3
*Nov 13 17:43:21.094 GMT: [2/0] set signal state = 0x4 timestamp = 0
*Nov 13 17:43:21.094 GMT: htsp_timer - 2000 msec
*Nov 13 17:43:22.358 GMT: htsp_process_event: [2/0, FXOLS_GUARD_OUT, E_DSP_SIG_0
000]fxols_guard_out_ringing
*Nov 13 17:43:22.358 GMT: htsp_timer_stop fxols_onhook_ringing
*Nov 13 17:43:22.358 GMT: htsp_timer - 125 msec
*Nov 13 17:43:22.490 GMT: htsp_process_event: [2/0, FXOLS_WAIT_RING_MIN, E_HTSP_
EVENT_TIMER]fxols_wait_ring_min_timer
*Nov 13 17:43:22.490 GMT: htsp_timer - 10000 msec
*Nov 13 17:43:23.446 GMT: htsp_process_event: [2/0, FXOLS_RINGING, E_DSP_SIG_010
0]
*Nov 13 17:43:23.446 GMT: fxols_ringing_not
*Nov 13 17:43:23.446 GMT: htsp_timer_stop
*Nov 13 17:43:23.446 GMT: htsp_timer_stop3 htsp_setup_ind
*Nov 13 17:43:23.450 GMT: [2/0] get_fxo_caller_id:Caller ID receive failed.  par
seCallerIDString:no data.
*Nov 13 17:43:23.450 GMT: [2/0] get_local_station_id calling num= calling name=
calling time=11/13 17:43  orig called=
*Nov 13 17:43:23.466 GMT: htsp_process_event: [2/0, FXOLS_WAIT_SETUP_ACK, E_HTSP
_SETUP_ACK]
*Nov 13 17:43:23.466 GMT: fxols_wait_setup_ack:
*Nov 13 17:43:23.466 GMT: [2/0] set signal state = 0xC timestamp = 0fxols_check_
auto_call
*Nov 13 17:43:23.722 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_DSP_SIG_
1100]fxols_offhook_disc
*Nov 13 17:43:23.722 GMT: htsp_timer2 - 350 msec
*Nov 13 17:43:24.074 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_EVE
NT_TIMER2]fxols_disc_confirm
*Nov 13 17:43:24.074 GMT: htsp_timer_stop
*Nov 13 17:43:24.074 GMT: htsp_timer_stop2
*Nov 13 17:43:24.074 GMT: htsp_timer_stop3
*Nov 13 17:43:24.082 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_REL
EASE_REQ]fxols_offhook_release
*Nov 13 17:43:24.086 GMT: htsp_timer_stop
*Nov 13 17:43:24.086 GMT: htsp_timer_stop2
*Nov 13 17:43:24.086 GMT: htsp_timer_stop3
*Nov 13 17:43:24.086 GMT: [2/0] set signal state = 0x4 timestamp = 0
*Nov 13 17:43:24.086 GMT: htsp_timer - 2000 msec
*Nov 13 17:43:25.342 GMT: htsp_process_event: [2/0, FXOLS_GUARD_OUT, E_DSP_SIG_0
000]fxols_guard_out_ringing
*Nov 13 17:43:25.346 GMT: htsp_timer_stop fxols_onhook_ringing
*Nov 13 17:43:25.346 GMT: htsp_timer - 125 msec
*Nov 13 17:43:25.474 GMT: htsp_process_event: [2/0, FXOLS_WAIT_RING_MIN, E_HTSP_
EVENT_TIMER]fxols_wait_ring_min_timer
*Nov 13 17:43:25.474 GMT: htsp_timer - 10000 msec
*Nov 13 17:43:26.446 GMT: htsp_process_event: [2/0, FXOLS_RINGING, E_DSP_SIG_010
0]
*Nov 13 17:43:26.446 GMT: fxols_ringing_not
*Nov 13 17:43:26.446 GMT: htsp_timer_stop
*Nov 13 17:43:26.446 GMT: htsp_timer_stop3 htsp_setup_ind
*Nov 13 17:43:26.446 GMT: [2/0] get_fxo_caller_id:Caller ID receive failed.  par
seCallerIDString:no data.
*Nov 13 17:43:26.446 GMT: [2/0] get_local_station_id calling num= calling name=
calling time=11/13 17:43  orig called=
*Nov 13 17:43:26.462 GMT: htsp_process_event: [2/0, FXOLS_WAIT_SETUP_ACK, E_HTSP
_SETUP_ACK]
*Nov 13 17:43:26.466 GMT: fxols_wait_setup_ack:
*Nov 13 17:43:26.466 GMT: [2/0] set signal state = 0xC timestamp = 0fxols_check_
auto_call
*Nov 13 17:43:26.718 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_DSP_SIG_
1100]fxols_offhook_disc
*Nov 13 17:43:26.718 GMT: htsp_timer2 - 350 msec
*Nov 13 17:43:27.074 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_EVE
NT_TIMER2]fxols_disc_confirm
*Nov 13 17:43:27.074 GMT: htsp_timer_stop
*Nov 13 17:43:27.074 GMT: htsp_timer_stop2
*Nov 13 17:43:27.074 GMT: htsp_timer_stop3
*Nov 13 17:43:27.082 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_REL
EASE_REQ]fxols_offhook_release
*Nov 13 17:43:27.086 GMT: htsp_timer_stop
*Nov 13 17:43:27.086 GMT: htsp_timer_stop2
*Nov 13 17:43:27.086 GMT: htsp_timer_stop3
*Nov 13 17:43:27.086 GMT: [2/0] set signal state = 0x4 timestamp = 0
*Nov 13 17:43:27.086 GMT: htsp_timer - 2000 msec
*Nov 13 17:43:28.342 GMT: htsp_process_event: [2/0, FXOLS_GUARD_OUT, E_DSP_SIG_0
000]fxols_guard_out_ringing
*Nov 13 17:43:28.342 GMT: htsp_timer_stop fxols_onhook_ringing
*Nov 13 17:43:28.342 GMT: htsp_timer - 125 msec
*Nov 13 17:43:28.470 GMT: htsp_process_event: [2/0, FXOLS_WAIT_RING_MIN, E_HTSP_
EVENT_TIMER]fxols_wait_ring_min_timer
*Nov 13 17:43:28.470 GMT: htsp_timer - 10000 msec
*Nov 13 17:43:29.454 GMT: htsp_process_event: [2/0, FXOLS_RINGING, E_DSP_SIG_010
0]
*Nov 13 17:43:29.458 GMT: fxols_ringing_not
*Nov 13 17:43:29.458 GMT: htsp_timer_stop
*Nov 13 17:43:29.458 GMT: htsp_timer_stop3 htsp_setup_ind
*Nov 13 17:43:29.458 GMT: [2/0] get_fxo_caller_id:Caller ID receive failed.  par
seCallerIDString:no data.
*Nov 13 17:43:29.458 GMT: [2/0] get_local_station_id calling num= calling name=
calling time=11/13 17:43  orig called=
*Nov 13 17:43:29.474 GMT: htsp_process_event: [2/0, FXOLS_WAIT_SETUP_ACK, E_HTSP
_SETUP_ACK]
*Nov 13 17:43:29.478 GMT: fxols_wait_setup_ack:
*Nov 13 17:43:29.478 GMT: [2/0] set signal state = 0xC timestamp = 0fxols_check_
auto_call
*Nov 13 17:43:29.730 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_DSP_SIG_
1100]fxols_offhook_disc
*Nov 13 17:43:29.730 GMT: htsp_timer2 - 350 msec
*Nov 13 17:43:30.082 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_EVE
NT_TIMER2]fxols_disc_confirm
*Nov 13 17:43:30.082 GMT: htsp_timer_stop
*Nov 13 17:43:30.082 GMT: htsp_timer_stop2
*Nov 13 17:43:30.082 GMT: htsp_timer_stop3
*Nov 13 17:43:30.090 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_REL
EASE_REQ]fxols_offhook_release
*Nov 13 17:43:30.090 GMT: htsp_timer_stop
*Nov 13 17:43:30.090 GMT: htsp_timer_stop2
*Nov 13 17:43:30.094 GMT: htsp_timer_stop3
*Nov 13 17:43:30.094 GMT: [2/0] set signal state = 0x4 timestamp = 0
*Nov 13 17:43:30.094 GMT: htsp_timer - 2000 msec
*Nov 13 17:43:31.342 GMT: htsp_process_event: [2/0, FXOLS_GUARD_OUT, E_DSP_SIG_0
000]fxols_guard_out_ringing
*Nov 13 17:43:31.342 GMT: htsp_timer_stop fxols_onhook_ringing
*Nov 13 17:43:31.342 GMT: htsp_timer - 125 msec
*Nov 13 17:43:31.470 GMT: htsp_process_event: [2/0, FXOLS_WAIT_RING_MIN, E_HTSP_
EVENT_TIMER]fxols_wait_ring_min_timer
*Nov 13 17:43:31.470 GMT: htsp_timer - 10000 msec
*Nov 13 17:43:32.446 GMT: htsp_process_event: [2/0, FXOLS_RINGING, E_DSP_SIG_010
0]
*Nov 13 17:43:32.446 GMT: fxols_ringing_not
*Nov 13 17:43:32.446 GMT: htsp_timer_stop
*Nov 13 17:43:32.446 GMT: htsp_timer_stop3 htsp_setup_ind
*Nov 13 17:43:32.446 GMT: [2/0] get_fxo_caller_id:Caller ID receive failed.  par
seCallerIDString:no data.
*Nov 13 17:43:32.446 GMT: [2/0] get_local_station_id calling num= calling name=
calling time=11/13 17:43  orig called=
*Nov 13 17:43:32.466 GMT: htsp_process_event: [2/0, FXOLS_WAIT_SETUP_ACK, E_HTSP
_SETUP_ACK]
*Nov 13 17:43:32.466 GMT: fxols_wait_setup_ack:
*Nov 13 17:43:32.466 GMT: [2/0] set signal state = 0xC timestamp = 0fxols_check_
auto_call
*Nov 13 17:43:32.722 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_DSP_SIG_
1100]fxols_offhook_disc
*Nov 13 17:43:32.722 GMT: htsp_timer2 - 350 msec
*Nov 13 17:43:33.074 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_EVE
NT_TIMER2]fxols_disc_confirm
*Nov 13 17:43:33.074 GMT: htsp_timer_stop
*Nov 13 17:43:33.074 GMT: htsp_timer_stop2
*Nov 13 17:43:33.074 GMT: htsp_timer_stop3
*Nov 13 17:43:33.082 GMT: htsp_process_event: [2/0, FXOLS_PROCEEDING, E_HTSP_REL
EASE_REQ]fxols_offhook_release
*Nov 13 17:43:33.086 GMT: htsp_timer_stop
*Nov 13 17:43:33.086 GMT: htsp_timer_stop2
*Nov 13 17:43:33.086 GMT: htsp_timer_stop3
*Nov 13 17:43:33.086 GMT: [2/0] set signal state = 0x4 timestamp = 0
*Nov 13 17:43:33.086 GMT: htsp_timer - 2000 msec
*Nov 13 17:43:35.086 GMT: htsp_process_event: [2/0, FXOLS_GUARD_OUT, E_HTSP_EVEN
T_TIMER]fxols_guard_out_timeout
*Nov 13 17:43:35.086 GMT: fxols_dsp_prealloc_clid_wait. Line reversal alerting D
SP preallocation done
*Nov 13 17:43:35.086 GMT: [2/0] htsp_start_caller_id_rx:ETSI
*Nov 13 17:43:35.090 GMT: [2/0] htsp_dsm_create_success  returns 1
*Nov 13 17:43:35.090 GMT: [2/0] htsp_dsm_is_sig_done_cb
*Nov 13 17:43:35.094 GMT: htsp_process_event: [2/0, FXOLS_ONHOOK, E_DSP_SIG_0100

28 Replies 28

dksingh
Cisco Employee
Cisco Employee

Can u pl. try following CLIs under FXO and see if it helps...

voice-port x/y/z

shut

caller-id enable type 1

ring num 2

no shut

I've made the changes to the config but it still fails to obtain the caller id.

I've also upgraded the IOS to 124(25c) just in case there was a bug fix that I was missing.

Given that the output of running show voice port 2/0 includes "Caller ID Info Follows: Standard ETSI", and that the debug output includes "htsp_stop_caller_id_rx. message length 0htsp_setup_ind", I have a suspicion that that IOS is seeing the caller ID but is unable to decode it and as a result reporting that the message length is 0. Is it possible to change the config to use v23 instead of ETSI (I believe this is the format used by BT to transmit caller ID)? Presumably this is set through cptone but short of trying every possible value I'm not sure how it can be changed. I've also looked at creating a custom cptone but couldn't see anything in the list of options to specify the caller id format.

If you haven't, please try caller-id alert line-reversal. For UK, ETSI standard
is correct and SIN227 shd work.
Other than that, you may have to obtain a PCM capture along with hpi debugs to
see if the GW is detecting FSK (modem) tones and number of rings after which it
is sent.

Some further info for you...

The caller-id format/standard support is embedded in different cptone.
There are 4 kinds of standards roughly. If none of below working, you may
have to contact the telco support to request them to change the caller-id
delivery type to a supported one.


|--------------------------------+------+--------------------------------|
| US, Canada, Australia,  China, | Bellc| Bellcore GR-30-CORE            |
| Hong Kong, Singapore           | ore  |                                |
|--------------------------------+------+--------------------------------|
| France, Germany, Norway, Italy,| ETSI | European Telecommunication     |
| Spain, South Africa, Turkey, UK|      | Standard ETS 300 648, ETS 300  |
| (CCA),                         |      | 659-1                          |
|--------------------------------+------+--------------------------------|
| UK (BT),                       | ETSI | British Telecomm SIN227, SIN242|
|--------------------------------+------+--------------------------------|
| Japan                          | NTT  | Nippon Telegraph & Telephone   |
|                                | FSK  | Corporation                    |
|--------------------------------+------+--------------------------------|
| Brazil, Belgium, Sweden,       | DTMF | ETS 300 648, ETS 300 659-1     |
| Denmark, Holland, Iceland,     | Based|                                |
| Saudi Arabia                   |      |                                |
|--------------------------------+------+--------------------------------|

I've tried caller-id alerting line-reversal but still getting caller id receive failed. Am I right in thinking the caller-id alerting options are mutually exclusive, in that I can't have multiple ones set at the same time?

I'm not 100% sure how to do a pcm capture and debug hpi, but I've followed the details on https://www.myciscocommunity.com/docs/DOC-8419 and http://www.cisco.com/en/US/docs/ios/12_2t/12_2t11/feature/guide/ftvdsplg.html. I've attached a copy of the dump and the output of debug vpm signal. Are there any tools I can use to read the capture file? I've tried Wireshark but I think that was just wishful thinking.

Would anyone be able to interpret the capture and see whether called id tones are being received and after how many rings?

Many thanks in advance

Paul,

The easier thing to do would be to connect a standard analog phone and check to see how many rings it takes to see the caller ID on it. Then adjust the "ring number" command to match. If the caller ID is coming in within the ring number configured then a PCM capture can be taken to determine if the tones are being received properly and within spec.

-Felipe

I've connected an analogue phone and can see the caller id being displayed on the second ring, so I've set ring num 2 in the config for the voice port, however when running debug vpm signal I'm still getting htsp_stop_caller_id_rx. message length 0htsp_set and get_fxo_caller_id:Caller ID receive failed.

Is it possible to analyse the PCM capture attached to reply 4 in order to determin whether the tones are being received correctly?

What tools are used to analyse the PCM capture file?

Paul,

Can you try collect the PCM capture again? I tried analyzing the previous capture but don't see a valid call. Also, can you attach the version of IOS and current running configuration of the gateway?

-Felipe

Felipe

Could you please provide some steps to setup the PCM capture as I'm not 100% sure I configured the capture correctly the last time.

Many thanks
Paul

Hello Paul,

Here's how u can capture PCM dump....


You'd need to know the FXO port that you will be hitting beforehand as you'd not have time to enter
CLI (below) after placing the call.

Assuming you are going to call into port 2/0, here's what you'll do.....


Router# conf t
voice hpi capture buffer 5000000
voice hpi capture destination flash:fxo.dat
end


Router#test voice port 2/0 pcm-dump caplog 7

Note:  it is possible that you will get incomplete command
       upon entering above, in which case, pl. enter

Route#test voice port 2/0 pcm-dump caplog 7 duration 30

place your call.....once you hang up...

Router#test voice port  2/0 pcm-dump disable

Router# conf t
no voice hpi capture buffer 5000000
no voice hpi capture destination flash:fxo.dat
end

tftp fxo.dat to your PC and upload...

I've re-run the test using the instructions provided and have uploaded a copy of the pcm capture along with the running-config of the gw.

Would any of the guys from Cisco be able to analyze the PCM capture I've uploaded in post 10 to see if the called ID tones is being received? I've done a quick Google search but it seems that the tool used to analyze the capture is only available to Cisco employees.

In the same post I've included a copy of the running-config for the gateway. The IOS image I'm running is 1700-adventerprisek9-mz.124-25c.bin

If there is any more information I can supply please let me know.

Many thanks in advance for your help.

Sorry Paul...I thought I had responded.

The PCM decodes to just a hpi.log and I can't see

any of the 3 rtp streams being generated.

So its not going to help..

Can u pl. advise how are u capturing the PCM and

are u enabling it for the correct port ?

Hi Dilip, No worries just grateful for the time you've already spent looking into this for me.

The gateway has only got a single VIC2-2FXO card which is installed in slot 2 and I've only got one PSTN line which is connected into port 0, so I'm definitely monitoring the right port. I've followed the instructions you provided in post 9 to perform the PCM capture although I've set the destination to be an FTP server rather than writing to flash. I'll retry using flash as the destination instead.

What's the trigger that makes the gateway write the rtp streams to the PCM capture file? Is there something that needs to happen to flush the streams in the buffer into the file?

To perform the capture I'm doing the following

1.Router# conf t
voice hpi capture buffer 5000000
voice hpi capture destination ftp://anonymous:cisco@192.168.1.70/pcm.dat

end

2. Router# debug vpm signal

3. Router#test voice port 2/0 pcm-dump caplog 73

4. Call PSTN number, let the call ring until the debug output includes the line get_fxo_caller_id:Caller ID receive failed.  parseCallerIDString:no data

5. Hang up

6. Router#test voice port 2/0 pcm-dump disable

7. Upload file from ftp server

I'm assuming that the caller id tones will still be written to the pcm capture file even if the call isn't answered.

Hi Paul,

I am assuming following is just a typo....

3. Router#test voice port 2/0 pcm-dump caplog 73

as correct command is...

   Router#test voice port 2/0 pcm-dump caplog 7

This is the CLI that triggers IOS to start writing DSP data associated with the voice port

which may include RTP streams, to the .dat file.

Yes, CLID comes in much before the call is answered and so does the ringback

etc. That shd be written to the PCM file even if the call is unaswered.

Yeah, let's try to write it to the flash and see if the results are any diff.

DK

pholding1 wrote:

Hi Dilip, No worries just grateful for the time you've already spent looking into this for me.

3. Router#test voice port 2/0 pcm-dump caplog 73
Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: