While I am able to initiate a callback using this method, I am not sure if it is working as it should be. Trying to understand the configURL it seems that the Obi should only sync when a different number is dialed. Mine syncs up based on the wait internal. If I set the weight interval at 5 it syncs up 11 times per minute and if I set the WAIT interval to 15 it syncs up 4 times per minute. Can anyone clarify this for me? I have tried to describe how I understand it below. Maybe that will help highlight any misunderstanding:
Starcode 30 is configured to assign a number to speed dial #99, so when you dial *2125551212 speed dial #99 is populated with 2125551212. User Defined Macro 0 (UDM0) is set to equal the value of speed dial #99. Beyond that the main thing to study is the ConfigURL (broken up into lines):
SET TPRM1 = $UDM0;
@loop IF ( $UDM0 == 00 ) GOTO redial;
SET TPRM2 = $UDM0;
GOTO checkit;
@redial SET TPRM2 = $TPRM1;
@checkit IF ( $TPRM1 != $UDM0 ) SYNC
http://www.abc.org/gv.php?dialnum=$TPRM2;
SET TPRM1 = $UDM0;
WAIT 5;
GOTO loop;
Temprorary Macro 1 is set to User Defined Macro 0 the first time the Obi starts up.
Then a loop starts. It checks if redial (00) has bee pressed. If so, proceed to @redial.
Otherwise set Temporary Macro 2 to User Defined Macro 0.
So the first time a call is made Temporary Macro 2 will contain the number and Temporary Macro 1 will be blank because it has not been updated yet for the dialed number.
@checkit will find that Temporary Macro 1 will be blank and User Defined Macro 0 will have a number, so the Obi will SYNC and place the call.
The next line after @checkit sets Temporary Macro 1 to equal User Defined Macro 0, so the obi doesn't SYNC again.