05-18-2020 08:41 AM - edited 05-18-2020 08:42 AM
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
05-18-2020 05:33 PM
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.
05-19-2020 10:27 AM - edited 05-19-2020 10:29 AM
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.
05-19-2020 11:37 AM
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.
05-19-2020 11:51 AM - edited 05-19-2020 11:53 AM
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
05-19-2020 12:15 PM
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 ...
05-19-2020 02:46 PM
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.
10-30-2020 05:36 AM
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.
10-31-2020 05:40 PM
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.
11-02-2020 06:40 AM - edited 11-02-2020 06:45 AM
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?
11-02-2020 07:49 AM
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 ?
11-02-2020 08:26 AM
Yes, I have a different phone set connected, but same result. It only misdials maybe every 10 calls.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide