Great question — answering as the UphillTech team:
It took a while but here is the answer. The following three options must be set to get Caller ID information from the USR5367 modem: init: while (ATZ != OK) goto init # set fax class AT+FCLASS=8 # disable call waiting AT+PCW=0 # set caller id AT+VCID=1 loop: # process data read_modem ... goto loop The Call Waiting feature has something to do with the Modem on Hold (MoH) feature of USR modems, and the ability of the modem to switch lines during a call. I don't quite understand what call waiting has to do with caller id, though. In contrast, Conexant CX93001-based modems only need AT+VCID=1 . And Conexant require AT+FCLASS=0 ; setting +FCLASS causes Caller ID to stop working. +PCW does not...
Full answer by jww: https://superuser.stackexchange.com/a/1499229 (CC BY-SA 4.0).
Need it done for your business? UphillTech.