cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2832
Views
0
Helpful
11
Replies

Spa232d PSTN dialling problem

I have my SPA232d setup to dial via my PSTN line or SIP server depending on dial plan. I do not have a PBX or anything fancy like that. It receives calls perfectly on PSTN and dials perfectly via SIP.

However, it only dials out correctly via PSTN 90% of the time. Sometimes it dials an incorrect digit or two.

Examples ...If I dial 8885436....it will sometimes dial 5888543, or if I dial 021 4463529...it will sometimes dial 021 4463429.

Is this a common problem, or is it a problem with FXS input/output gain or a DTMF issue ?

I have tried changing the PSTN Dial Digit Length, but did not fix it.

I am attaching a syslog file. Firmware is 1.41

11 Replies 11

Dan Lukes
VIP Alumni
VIP Alumni

I see nothing wrong in the log attached - call to 0719174031 had been requested, 0719174031 has been called., no apparent issue shown and you didn't described an issue related to the call logged.

 

Thank you very much for your help Dan.

I have 2 problems.

Firstly, sometimes the number dialled on my phone does not match the number received by the phone company exchange.

I am attaching an example where the dialled number is 021 4362410. It looks like the ATA dials this number, but the number received by the phone system in this event was 21436241, which is a legitimate number in our dial system (Debug2.txt)

Secondly, sometimes when I dial a number, it does not seem to dial out via PSTN and instead I get a warning tone in the telephone handset. (Debug_log.txt).

Do you think that there may be a problem with DTMF settings or SPA to PSTN gain...maybe something else.

Thank you very much for taking the time to look. I see huge advantages in the system, but my wife is going to throw it in the garbage soon.

Regards.


I am attaching an example where the dialled number is 021 4362410. It looks like the ATA dials this number, but the number received by the phone system in this event was 21436241, which is a legitimate number in our dial system (Debug2.txt)

Call is received from cordless phone. Relevant parts of Debug2.txt:

Cisco [0]Off Hook
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_IDLE, new state CC_CST_DIALING
Cisco line:0 DTMFON event received digit 0 
Cisco line:0 DTMFON event received digit 2 
Cisco line:0 DTMFON event received digit 1 
Cisco line:0 DTMFON event received digit 4 
Cisco line:0 DTMFON event received digit 3 
Cisco line:0 DTMFON event received digit 6 
Cisco line:0 DTMFON event received digit 2 
Cisco line:0 DTMFON event received digit 4 
Cisco line:0 DTMFON event received digit 1 
Cisco line:0 DTMFON event received digit 0 
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_DIALING, new state CC_CST_CALLING
Cisco ++++ called number = 0214362410
Cisco [0]->127.0.0.1:5061(903)
INVITE sip:0214362410@127.0.0.1:5061 SIP/2.0
Cisco +++ dial plan = (xx.) (on 0214362410)
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_IDLE, new state CC_CST_RINGING
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_RINGING, new state CC_CST_ANSWERING
Cisco [0]<<127.0.0.1:5061(309)
SIP/2.0 100 Trying
Cisco [0]<<127.0.0.1:5061(745)
SIP/2.0 200 OK
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_CALLING, new state CC_CST_CONNECTED
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_ANSWERING, new state CC_CST_CONNECTED

Its about connection between the hand phone and SPA232D. I see 0214362410 from handphone and used as is for internal processing.

 

Call is routed to FXO. Relevant parts of Debug2.txt:

Cisco FXO:Voip Connected
Cisco +++ dial plan = (xx.) (on 0214362410)
Cisco ++++ one stage dialing to 0214362410
Cisco dialDelay: 1000
Cisco 0: is OffHook: 1
Cisco FXO:Off Hook
Cisco FXO[2]:Stop CNDD
Cisco uchSendDTMFStr(), sending DTMF 0 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 2 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 1 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 4 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 3 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 6 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 2 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 4 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 1 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 0 to EP 0 duration is 0ms
Cisco FXO:dialing out finished AudCall 0x3563e0 CcCall 0x0 state 5

0214362410 has been transmitted using DTMF to FXO line which is the correct number. If 214362410 has been recognized on receiving side instead of correct number, the possible causes are:

 

1. So short delay between off-hook and first digit (Cisco dialDelay: 1000ms). In such case first digit (or first few digits) may be lost sometime, but no middle digit can be lost.

2. DTMF volume level is either so high or so low to be recognized properly by receiver. As there's no standard related to it, you need to ask your Telco - they should tell you what volume levels are expected on line. Also,overall gain may be too high or low. Even in this case, there's no standard, Telco needs to disclose what levels are expected by it's equipment.

3. Line is so noisy and DTMF gets lost in noise on the wire. You can do little or nothing with it, just complain to the Telco about the quality of line.

 

 ------------------

 

Now about the second issue. Relevant parts of Debug_log.txt (first half):

Cisco [0]Off Hook
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_IDLE, new state CC_CST_DIALING
Cisco line:0 DTMFON event received digit 0 
Cisco line:0 DTMFON event received digit 2 
Cisco line:0 DTMFON event received digit 1 
Cisco line:0 DTMFON event received digit 4 
Cisco line:0 DTMFON event received digit 3 
Cisco line:0 DTMFON event received digit 8 
Cisco line:0 DTMFON event received digit 4 
Cisco line:0 DTMFON event received digit 8 
Cisco line:0 DTMFON event received digit 2 
Cisco line:0 DTMFON event received digit 9 
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_DIALING, new state CC_CST_CALLING
Cisco Calling:0214384829@127.0.0.1:5061, rc=2
Cisco ++++ called number = 0214384829
Cisco [0]->127.0.0.1:5061(906)
INVITE sip:0214384829@127.0.0.1:5061 SIP/2.0
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_IDLE, new state CC_CST_RINGING
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_RINGING, new state CC_CST_ANSWERING
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_CALLING, new state CC_CST_CONNECTED
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_ANSWERING, new state CC_CST_CONNECTED

and second half:

Cisco +++ dial plan = (xx.) (on 0214384829)
Cisco ++++ one stage dialing to 0214384829
Cisco dialDelay: 1000
Cisco FXO:Off Hook
Cisco FXO[2]:Stop CNDD
Cisco uchSendDTMFStr(), sending DTMF 0 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 2 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 1 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 4 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 3 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 8 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 4 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 8 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 2 to EP 0 duration is 0ms
Cisco uchSendDTMFStr(), sending DTMF 9 to EP 0 duration is 0ms
Cisco FXO:dialing out finished AudCall 0x3563e0 CcCall 0x0 state 5

Conclusion - 0214384829 has been sent to FXO properly. It seems you received bast-busy just because the number recognized on receiving side has been considered invalid. It mean you have no two issues, it's the same issue. Correctly transmitted number seems not to be properly recognized on receiving side. As issue is the same, possible causes are same as well.

 

 

 

Thank you so much Dan.

I will firstly change the dial delay. My Telco technical help is less than zero...a call centre in another continent!

I know the PSTN setting for Inter-digit timeout(ms) is 2000. I know impedance is correct.

Could I ask you which DTMF levels I should look at (experiment with).

Also could you suggest which gains to look at (SPA to PSTN ?)

Im really hoping to get it operational.

Thanks again.

Regards

Those levels are country specific (and sometime even provider specific). Just try ...

But POTS/PSTN line is unfortunate technology for today's world. Consider SIP trunk as replacement. If possible in your country ...

 

Thank you. I have connected another phone in parallel with the output of the ATA to monitor the tones. They were totally distorting, so I have lowered the level of the DTMF Play Level on both 'Regional' and 'PSTN' settings. So far, it is a big improvement. Hopefully problem solved.

I am still having problems with my PSTN dialling. The problem is that the number which i dial on my phone somehow gets a random extra digit inserted in front of it. If i try to dial 0214777328, the number which the ATA dials is 8 0214777328, or 0 0214777328 or 3 0214777328. My dial plan truncates this numbers to 7 digits, so the number dialled becomes 8021477, 0021477 or 3021477.

I really never managed to get the PSTN part of the ATA working, but really would love to do so.

I am attaching the debug for this example. the call was made near the end of minute 12:02.

I am using DTMF level of -7 and FXS put and output gains of -6.

Thank you for any advice.

Cisco [0]Off Hook
Cisco NEW_CALL_STATE(), call 0: old state = CC_CST_IDLE, new state CC_CST_DIALING
Cisco line:0 DTMFON event received digit 3
Cisco line:0 DTMFON event received digit 0
Cisco line:0 DTMFON event received digit 2
Cisco line:0 DTMFON event received digit 1
Cisco line:0 DTMFON event received digit 4
Cisco line:0 DTMFON event received digit 7
Cisco line:0 DTMFON event received digit 7
Cisco +++ dial plan = (xx.) (on 3021477)
Cisco line:0 DTMFON event received digit 8
Cisco FXO:Off Hook
...

According the log, the digit 3 has been recognized on the wire by SLIC. But it's very hard to identify the true source. DTMF digit requires exactly two tones to be detected. It's easy to miss a DTMF digit, because a tone is not detected or because receiver is jammed by so strong signal and detects more than two tones. But it's hard to misdetect DTMF digit that has not been sent.

To say true, I have no idea whats causing your issue unless your phone is sending it by accident.

 

Thank you Dan.

Based on your advice, I changed the entire cordless telephone set to eliminate the possibility of the phone sending digits by accident.

The same problem is still occurring occasionally. I have tried using a different 232D unit also (with the same configuration settings).

It seems that if the first digit to be dialled is a zero then it sometimes inserts a random digit in front of the number.

could it be associated with DTMF method?

Well, very brief description of DTMF here.

Fundamental tones are carefully selected. Its hard to create valid combination by accident.

You replaced SPA232D unit already. Did you tried another analog phone as well ?

Yes, I have a different phone set connected, but same result. It only misdials maybe every 10 calls.

 

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: