Home AMX User Forum AMXForums Archive Threads AMX Hardware

AXB-DTMF+ caller ID agony

I need help from an expert on this box. AMX replaced the pcb in our AXB-DTMF+ because the thing would never send us any caller ID strings. Ever. Didn't ever get a single one.

Now that it has been replaced I will get a caller ID string from it, but only on rare occasions. Maybe 3 times out of every 10 times that I dial it at most. We have phones with caller ID built in on the same line and they display the caller ID EVERY time a call comes in, so it is not a problem with the phone service.

I have tried sending the ON-HOOK and OFF-HOOK commands. I assume that it needs to be on hook but I have had caller ID info show up after sending the OFF-HOOK command. I have turned auto answer off and that doesn't seem to make a difference either.

The programming examples in the documentation have nothing tricky in them. I have made a bare bones project to rule out any code issues.

Why why why does it only work occasionally?!!

Comments

  • DHawthorneDHawthorne Posts: 4,584
    I've seen this happen with phone systems as well. You got a couple things going against you. One, the AXB-DTMF is an old product, and probably could use an update to fully support the various caller ID signals. Call-waiting caller-ID is especially problematic. The other thing is that the phone line itself might be noisy and an unclear signal getting through. It's nothing more than a half-second or so modem burst between rings; you can actually hear it with a butt set if you monitor an incoming call. If that modem burst is corrupted at all, the box isn't going to recognize the signal, or if the signal is too weak ... and if it is nominal, sometime it will go through, and sometimes not.
  • If all you need is caller ID, a $20 modem hooked to an RS232 port will take care of that for you.

    Kevin D.
  • ColzieColzie Posts: 470
    shr00m-dew wrote: »
    If all you need is caller ID, a $20 modem hooked to an RS232 port will take care of that for you.

    Kevin D.

    Could you provide details on how to do this?
  • Make sure that you are waiting for three rings on the incoming call before looking for caller id. We went through this process and it wasn't until we turned off the auto-answer that we noticed that the caller id info didn't arrive until after the third ring. Once we made this change, the caller id has worked.
  • Take any off the shelf external modem that supports Caller-ID, set it to 9600 8N1 and drop in this code. Could be cleaned up a little bit, I haven't changed it in years. Saves the last 10 calls and sends the newest call to the touchpanels. You would need code to update the panels with the updated 1-10 text when going to the CID history page.
    DATA_EVENT[CALLER_ID]
    {
    	ONLINE:
    	{
    		SEND_COMMAND CALLER_ID,'SET BAUD 9600,N,8,1'       //SET BAUD RATE
            SEND_COMMAND CALLER_ID,'HSOFF'                     //SET HANDSHAKING
    		WAIT 30
    		SEND_STRING CALLER_ID, "'AT+VCID=1',13,10"
    	}
    	STRING:
    	{
    		STACK_VAR INTEGER LOOP
    
    		SEND_STRING 0, "DATA.TEXT"
    		IF (FIND_STRING (DATA.TEXT,'DATE',1))
    		{
    			FOR (LOOP=9 ; LOOP>=1 ; LOOP--)
    			{
    				CID[LOOP+1]=CID[LOOP]
    			}
    			REMOVE_STRING (DATA.TEXT,'DATE = ',1)
    			CID[1].CID_DATE=LEFT_STRING (DATA.TEXT,(FIND_STRING(DATA.TEXT,"13",1)-1))
    			REMOVE_STRING (DATA.TEXT,'TIME = ',1)
    			CID[1].CID_TIME=LEFT_STRING (DATA.TEXT,(FIND_STRING(DATA.TEXT,"13",1)-1))
    			REMOVE_STRING (DATA.TEXT,'NMBR = ',1)
    			CID[1].CID_NUMBER=LEFT_STRING (DATA.TEXT,(FIND_STRING(DATA.TEXT,"13",1)-1))
    			REMOVE_STRING (DATA.TEXT,'NAME = ',1)
    			CID[1].CID_NAME=LEFT_STRING (DATA.TEXT,(FIND_STRING(DATA.TEXT,"13",1)-1))
    			SEND_COMMAND TPs, "'WAKE'"
    			SEND_COMMAND TPs, "'@TXT',71,CID[1].CID_DATE[1],CID[1].CID_DATE[2],'/',CID[1].CID_DATE[3],CID[1].CID_DATE[4],'  -  ',CID[1].CID_TIME[1],CID[1].CID_TIME[2],':',CID[1].CID_TIME[3],CID[1].CID_TIME[4],'  -  ',CID[1].CID_NAME,'  -  ',CID[1].CID_NUMBER[1],CID[1].CID_NUMBER[2],CID[1].CID_NUMBER[3],'-',CID[1].CID_NUMBER[4],CID[1].CID_NUMBER[5],CID[1].CID_NUMBER[6],'-',CID[1].CID_NUMBER[7],CID[1].CID_NUMBER[8],CID[1].CID_NUMBER[9],CID[1].CID_NUMBER[10]"
                                        SEND_COMMAND TPs, "'@PPN-NEW CALL'"
    	}
    }
    
    
  • ColzieColzie Posts: 470
    Very cool. Thanks!!!
  • Thanks for the info folks. I am at the job site today and I'm hoping that it was just noise on our shop line and that the customer's line will be better.
  • Colzie wrote: »
    Very cool. Thanks!!!

    No problem.. Of course, this is under the assumption that the caller ID string is a standard AT reply. It's worked on two different brands of modems I've tried it on.

    It's a standard AT command to turn called ID on, so I would imagine the reply is standard.

    Kevin D.
Sign In or Register to comment.