A call that looked perfect in the log and carried no sound, and the one missing line that caused it.
Real phones teach you things test phones never will. A call connected, both sides showed as talking, and nobody could hear a thing.
What we saw
The log said the call was answered. The packet counts said we were sending audio to the desk phone and getting nothing back. The phone's screen showed a call in progress. Total silence in both directions.
The same call between our test tools worked perfectly. The same call to a provider worked perfectly. Only a real desk phone did this.
The cause
When one side sets up a call, it sends a description of the audio it wants: which address, which port, which formats. That description travels inside a message, and the message carries a line that says what kind of content is inside it.
Ours was missing that one line.
Our test tools and the provider read the content anyway. The desk phone, quite correctly, saw a message with no declared content and concluded we had offered nothing. It answered with an offer of its own and waited for our reply. We never sent one, because as far as we knew the matter was settled. Two polite parties, each waiting for the other.
The fix
One line. Every call the system places now says what its content is, and a test checks that line on every kind of call we make, so it cannot quietly go missing again.
The lesson
Forgiving test tools hide bugs. Since then we treat "works with our own tools" as the start of testing, and a real phone on the bench as the judge.