That assumption was totally wrong.
The vmx is a computer, and it has an analog phone card in it, with four or more analog telephone lines. It appears that these are regular POTS – plain old telephone system – connections. The phone card in a Duvoice is an old Intel Dialogic board.
When the PBX wants to communicate with the vmx, it picks up the line and sends DTMF tones to the vmx. DTMF are just the short bleeps that come out of a phone’s dialpad. The tones are 1/10th of a second long, so they sound like video game chirps.
There are dozens of combinations of these tones. It’s like creating a language of tones. The tones are called “codes”. These codes are sequences like “#20” and “#50#”. There aren’t standards, so on the pbx side, you can define what tones to send when the pbx wants the vmx to do something. On the vmx side, you set up what tones map to what functions.
Generally, you don’t hear these tones – they’re communications between the pbx and the vmx, and it all happens while you are waiting to connect to the vmx. The two systems are chirping back and forth to each other, to set up your vmx access. The pbx sends a code saying “incoming call for box 123” and then makes the connection. The vmx takes the call. After the call is done, it contacts the pbx and sends a code saying “box 123 has a message” (and then the “voice mail” light on 123’s telephone is illuminated).
Pbxs can send these codes during a conversation. I don’t understand when that happens, but it is called “inband signalling”. What a cool name for a lame technique.
This is all very amazing to me. I thought that the two systems communicated using something simpler, like a serial port, and there would be a simple standard for signalling similar to the AT command set used by modems. How wrong I was.
Voicemail on Wikipedia.