Problem is script?

Questions, problems, and other issues for Ascendis Caller ID that aren't covered by the other forums.
Bill Root
Site Admin
Posts: 1025
Joined: Mon Jan 19, 2004 1:29 pm
Location: Perrysburg, OH
Contact:

Post by Bill Root »

If I uncheck the "On each Ring" but have check marks on "When caller info ..... and also "when call ends" the script statements work perfect for 2 ring and also 3 ring ( but you already know that )
In the USA, with this configuration and a three-ring phone call with captured caller information, Ascendis Caller ID should run your script with rings=2, rings=3, and rings=3. It runs the script with rings=2 because the caller information is known by the time the phone rings the second time. It runs the script with rings=3 the third time the phone rings. It runs the script with rings=3 when the call "ends". (As I mentioned before, modems don't know when a call ends, but Ascendis Caller ID times out all calls after some period of time.) So, with "On each ring" and "When call ends" enabled, your script will run twice for the last ring (which could be ring #2, 3, 4, etc).

and having it to work that way I am sacrifice that speed because the duration of a call is between 36 to 46 sec before the script starts.
Yes, you are sacrificing some speed. If "When caller info is received" is enabled, Ascendis Caller ID will run the script "as soon as" the modem passes the caller information. With "On each ring" enabled instead, Ascendis Caller ID will wait for the second ring before running your script.

So my question is it possible to put a script statement at the beginning line that may hangup the modem after a certain time of sec. that is trigger by "when caller info is recv. only" to shorten the duration to value of = 4 rings? Or did I just hit a brick wall.
Well... you could compare the current time with CallInfo.CallBeganTime and hangup if it was greater than some number (note that the difference is not in seconds). However, as I mentioned before, hanging up will prevent your answering machine from picking up the phone, so it seems like a bad idea. If you chose to try this, you would have to enable "On each ring" for "Perform Action". In other words, you would need the script to run multiple times to give you the opportunity to detect when the appropriate amount of time has passed.

If you're not using an answering machine (and not forwarding the call), you could just have Ascendis Caller ID hang up on the third ring. But that contradicts your previous posts.


It's important to remember that your operating system and Ascendis Caller ID are not real-time. They try to operate when desired, but if something is busy when a call comes in or the phone rings the nth time, delays will occur. That said, with "When call info is received" enabled for "Perform Action" and the computer (and hard disk) awake and not running other time consuming processes, and with enough cores, CPU speed, memory and free disk space, Ascendis Caller ID should start your script within 1-3 seconds of receiving the call information from the modem. Many of the commands you're using in the script depend on other programs or functions (like speech) that might take awhile depending on computer speed, capacity, and load.
samsungpower
Posts: 49
Joined: Tue May 22, 2012 4:40 pm

Post by samsungpower »

Here's a Question for the forum and not just for bill because I took a lot of his time already. The problem is I would like the computer modem to disconnect ( hangup) after 8 sec. without disconnecting the answer machine while recording a message. If I have answer machine plug into a wall phone jack in one room and a computer modem is plug into another room jack, will the computer modem disconnect the answer machine when it trys to hangup it's own modem ? Maybe Bill gave me the answer already to the question but I am just trying to find a work around to my problem. So when I recv. a call at home an my wife picks up the phone and I pickup another phone in a different room and the call is for me, and she hangs up her's phone, it doesn't disconnect me. Is it different with a modem? If not, could I change the timeout properties in the modem to last only 8 sec. and have the answer machine work total separated from each other.
samsungpower
Posts: 49
Joined: Tue May 22, 2012 4:40 pm

Post by samsungpower »

Another question I am just trying to learn. If I change the settings in Options/Devices/Modems and Tapi/Properties/ time out after 30000 milliseconds to a lower number because I do not access it through Tapi, will it not take as long to start my script because I am using perform Action "when caller info recv." and "when call ends"
Bill Root
Site Admin
Posts: 1025
Joined: Mon Jan 19, 2004 1:29 pm
Location: Perrysburg, OH
Contact:

Post by Bill Root »

samsungpower wrote:Here's a Question for the forum and not just for bill because I took a lot of his time already. The problem is I would like the computer modem to disconnect ( hangup) after 8 sec. without disconnecting the answer machine while recording a message. If I have answer machine plug into a wall phone jack in one room and a computer modem is plug into another room jack, will the computer modem disconnect the answer machine when it trys to hangup it's own modem ? Maybe Bill gave me the answer already to the question but I am just trying to find a work around to my problem. So when I recv. a call at home an my wife picks up the phone and I pickup another phone in a different room and the call is for me, and she hangs up her's phone, it doesn't disconnect me. Is it different with a modem? If not, could I change the timeout properties in the modem to last only 8 sec. and have the answer machine work total separated from each other.
Others are welcome to answer, but I'll elaborate. I've made assumptions all along because (as is normal) not all information was available. Hanging up a modem is like hanging up a phone. If another phone is off the hook, the modem hanging up will not disconnect the call, although the caller may hear a click.

In addition, if you assume that someone else or another device will have the phone off the hook when Ascendis Caller ID hangs up and, for some reason, they don't, or if the timing is off, then the call will be disconnected.

Finally, I haven't yet seen any reason to hang up the phone. Ascendis Caller ID doesn't pick up the phone until either a script issues a Hangup command, or a script issues a PhoneSound command and the script ends. In other words, in normal operation -- except for call blocking -- Ascendis Caller ID doesn't pick up the phone, so hanging up is not necessary. There's no point in risking accidentally disconnecting a call if the call was never picked up by the modem. (Modems don't pick up the phone to capture caller information -- it's sent between the rings and can be monitored offline.)

Finest regards,
Bill Root
Ascendis Software LLC
Bill Root
Site Admin
Posts: 1025
Joined: Mon Jan 19, 2004 1:29 pm
Location: Perrysburg, OH
Contact:

Post by Bill Root »

samsungpower wrote:Another question I am just trying to learn. If I change the settings in Options/Devices/Modems and Tapi/Properties/ time out after 30000 milliseconds to a lower number because I do not access it through Tapi, will it not take as long to start my script because I am using perform Action "when caller info recv." and "when call ends"
If you reduce the "Timeout calls" setting for modems accessed directly then yes, a script set to run "When call ends" will be run sooner. If the timeout is too short, two rings for the same call will be interpreted as two separate phone calls, the second of which will have no caller information.

In the USA, rings are separated by 6 seconds. However, depending on the computer load, the ring messages can reasonably be separated by 10 seconds (or more) by the time Ascendis Caller ID processes them. 30 seconds is a safe timeout, but you can almost certainly tweak it for better performance in your specific circumstances.


Finest regards,
Bill Root
Ascendis Software LLC
Post Reply