SOLVED 2021 Incredible debian can't enter reminder date from keypad

jwallace

New Member
Joined
Nov 30, 2010
Messages
6
Reaction score
1
First time using this site, still learning how to navigate here. I mistakenly sent a private message to Ward and he was kind enough to respond.

My original question was:

Today at 4:23 AM
"Just finished installing IncrediblePBX 2021 on debian. Everything seems to function so far, but I can't seem to get the reminders to work from the phone keypad. Every time I attempt to enter a date I get "invalid choice" as the response. What am I doing wrong? Using today's date as an example I enter 20210310, but it just doesn't want to cooperate. Suggestions???

Thanks"

And Ward's response:

Today at 10:08 AM
"Try 031021 and please post in the forums so everyone can benefit from the discussion. Thanks."

Unfortunately, that suggestion didn't work.

Anyway, to recap, When entering the reminders app from the phone keypad, I can access the reminders app, I can enter the pincode, I can make and accept a recording, and I can specify which phone number I want the reminder delivered to. The problem I'm having is when it asks for the date using a 4 digit year, a 2 digit month and a 2 digit day, it fails with the response "Invalid choice" Doesn't matter what format is entered, it's always the same response. I started with yyyyddmm and tried all other combinations. Same result.

In addition to this, when accessing reminders through the gui it's impossible to enter a reminder for the current day. It always rings the specified number immediately after scheduling it. When entering a future date, it never generates a .gsm file so the phone rings, but there's no associated message.

So the question remains... What am I doing wrong, or Is there a way to reinstall this app?

Thanks
 
What is the DTMF setting on your phone? Does the Asterisk CLI show the numbers being accepted?
 
What is the DTMF setting on your phone? Does the Asterisk CLI show the numbers being accepted?
The DTMF setting is RFC 2833. Here's what happens on the CLI. Looks like the numbers pressed are being received I highlighted where the date is entered:

== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
> 0x7fa7dc0810e0 -- Strict RTP learning after remote address set to: 10.27.3.253:16394
-- Executing [123@from-internal:1] Answer("SIP/701-00000009", "") in new stack
== Extension Changed 701[ext-local] new state InUse for Notify User 703
> 0x7fa7dc0810e0 -- Strict RTP switching to RTP target address 10.27.3.253:16394 as source
-- Executing [123@from-internal:2] Wait("SIP/701-00000009", "1") in new stack
-- Executing [123@from-internal:3] Authenticate("SIP/701-00000009", "9852") in new stack
-- <SIP/701-00000009> Playing 'agent-pass.ulaw' (language 'en')
> 0x7fa7dc0810e0 -- Strict RTP learning complete - Locking on source address 10.27.3.253:16394
-- <SIP/701-00000009> Playing 'auth-thankyou.ulaw' (language 'en')
-- Executing [123@from-internal:4] Goto("SIP/701-00000009", "reminder,s,1") in new stack
-- Goto (reminder,s,1)
-- Executing [s@reminder:1] Set("SIP/701-00000009", "TIMEOUT(digit)=7") in new stack
-- Digit timeout set to 7.000
-- Executing [s@reminder:2] Set("SIP/701-00000009", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [s@reminder:3] Playback("SIP/701-00000009", "custom/reminder1") in new stack
-- <SIP/701-00000009> Playing 'custom/reminder1.gsm' (language 'en')
-- Executing [s@reminder:4] Wait("SIP/701-00000009", "2") in new stack
-- Executing [s@reminder:5] Set("SIP/701-00000009", "TMPMSG=16154268679") in new stack
-- Executing [s@reminder:6] Record("SIP/701-00000009", "custom/16154268679:gsm") in new stack
-- <SIP/701-00000009> Playing 'beep.ulaw' (language 'en')
-- Executing [s@reminder:7] Wait("SIP/701-00000009", "1") in new stack
-- Executing [s@reminder:8] Playback("SIP/701-00000009", "custom/16154268679") in new stack
-- <SIP/701-00000009> Playing 'custom/16154268679.gsm' (language 'en')
-- Executing [s@reminder:9] Wait("SIP/701-00000009", "1") in new stack
-- Executing [s@reminder:10] BackGround("SIP/701-00000009", "vm-review") in new stack
-- <SIP/701-00000009> Playing 'vm-review.ulaw' (language 'en')
-- Executing [1@reminder:1] Goto("SIP/701-00000009", "reminder7,s,1") in new stack
-- Goto (reminder7,s,1)
-- Executing [s@reminder7:1] Set("SIP/701-00000009", "TIMEOUT(digit)=7") in new stack
-- Digit timeout set to 7.000
-- Executing [s@reminder7:2] Set("SIP/701-00000009", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [s@reminder7:3] Read("SIP/701-00000009", "APPTPHONE,custom/reminder4,0") in new stack
-- <SIP/701-00000009> Playing 'custom/reminder4.gsm' (language 'en')
-- User entered '701'
-- Executing [s@reminder7:4] Goto("SIP/701-00000009", "reminder8,s,1") in new stack
-- Goto (reminder8,s,1)
-- Executing [s@reminder8:1] Set("SIP/701-00000009", "TIMEOUT(digit)=7") in new stack
-- Digit timeout set to 7.000
-- Executing [s@reminder8:2] Set("SIP/701-00000009", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [s@reminder8:3] GotoIf("SIP/701-00000009", "0?4:5") in new stack
-- Goto (reminder8,s,5)
-- Executing [s@reminder8:5] Playback("SIP/701-00000009", "you-entered") in new stack
-- <SIP/701-00000009> Playing 'you-entered.ulaw' (language 'en')
-- Executing [s@reminder8:6] SayDigits("SIP/701-00000009", "701") in new stack
-- <SIP/701-00000009> Playing 'digits/7.ulaw' (language 'en')
-- <SIP/701-00000009> Playing 'digits/0.ulaw' (language 'en')
-- <SIP/701-00000009> Playing 'digits/1.ulaw' (language 'en')
-- Executing [s@reminder8:7] BackGround("SIP/701-00000009", "if-correct-press") in new stack
-- <SIP/701-00000009> Playing 'if-correct-press.ulaw' (language 'en')
-- Executing [s@reminder8:8] BackGround("SIP/701-00000009", "digits/1") in new stack
-- <SIP/701-00000009> Playing 'digits/1.ulaw' (language 'en')
-- Executing [s@reminder8:9] BackGround("SIP/701-00000009", "otherwise-press") in new stack
-- <SIP/701-00000009> Playing 'otherwise-press.ulaw' (language 'en')
-- Executing [1@reminder8:1] Goto("SIP/701-00000009", "reminder2,s,1") in new stack
-- Goto (reminder2,s,1)
-- Executing [s@reminder2:1] Set("SIP/701-00000009", "TIMEOUT(digit)=7") in new stack
-- Digit timeout set to 7.000
-- Executing [s@reminder2:2] Set("SIP/701-00000009", "TIMEOUT(response)=10") in new stack
-- Response timeout set to 10.000
-- Executing [s@reminder2:3] Read("SIP/701-00000009", "APPTDT,custom/reminder2,8") in new stack
-- Accepting a maximum of 8 digits.
-- <SIP/701-00000009> Playing 'custom/reminder2.gsm' (language 'en')
-- User entered '20210310'
-- Executing [s@reminder2:4] AGI("SIP/701-00000009", "checkdate.php,20210310") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/checkdate.php
-- <SIP/701-00000009>AGI Script checkdate.php completed, returning 0

-- Executing [s@reminder2:5] GotoIf("SIP/701-00000009", "1?99,1") in new stack
-- Goto (reminder2,99,1)
-- Executing [99@reminder2:1] Playback("SIP/701-00000009", "conf-errormenu") in new stack
-- <SIP/701-00000009> Playing 'conf-errormenu.ulaw' (language 'en')
-- Executing [99@reminder2:2] Goto("SIP/701-00000009", "s,3") in new stack
-- Goto (reminder2,s,3)
-- Executing [s@reminder2:3] Read("SIP/701-00000009", "APPTDT,custom/reminder2,8") in new stack
-- Accepting a maximum of 8 digits.
-- <SIP/701-00000009> Playing 'custom/reminder2.gsm' (language 'en')
-- User disconnected
-- Executing [h@reminder2:1] Hangup("SIP/701-00000009", "") in new stack
== Spawn extension (reminder2, h, 1) exited non-zero on 'SIP/701-00000009'
 
Is the time & date set correctly on your pbx?
 
Is the time & date set correctly on your pbx?
Yes
WARNING: Always run Incredible PBX behind a secure firewall.
root@IncrediblePBX:~ $ date
Wed 10 Mar 2021 11:38:59 PM EST
WARNING: Always run Incredible PBX behind a secure firewall.
root@IncrediblePBX:~ $
 
taking a quick look at checkdate.php, I'd guess the following is an issue?

it looks like the year is being compared to 2020, and setting "BADFLAG" if its greater.
(I can't seem to copy the code in here - even with the proper formatting flags)

So it wouldn't accept 2021 (or later) ?

Jeff
 
taking a quick look at checkdate.php, I'd guess the following is an issue?

it looks like the year is being compared to 2020, and setting "BADFLAG" if its greater.
(I can't seem to copy the code in here - even with the proper formatting flags)

So it wouldn't accept 2021 (or later) ?

Jeff
Hi Jeff,
Great catch and much appreciated! I don't know php at all, but moved the original file out of the way and changed the 2020 reference to 2025. After doing that I was able to enter a reminder with the phone keypad. It went through the script correctly. and created the necessary files. I have every reason to believe it's going to work. I'll know for sure after 8:00 tonight.

Thank you
John
 
Patched for 2020 and 2021 releases. THANKS!!

Code:
sed -i 's|2020|2040|' /var/lib/asterisk/agi-bin/checkdate.php
 

Forum statistics

Threads
26,831
Messages
175,390
Members
20,381
Latest member
kalilinux
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Back
Top