Confirm that the call was answered
A ringing indication, ringback or progress announcement is not the same as an established call. Record whether silence occurs before answer, after a final 2xx response and ACK, or only after hold, transfer or another renegotiation. Then state whether both participants hear silence or one direction is missing. Early-media failure, no audio after answer and one-way audio require different evidence paths.
Illustrative topology: direct RTP is shown below. Many PBXs and session border controllers anchor media instead.
Isolate endpoints first
Check mute, handset, speaker, output selection, input selection and operating-system microphone permissions. Compare another endpoint on the same network and an internal call. If one headset fails while the handset works, changing carrier codecs is unlikely to help. If every local audio path fails, retain the endpoint as a suspect until a known-good endpoint reproduces the same call-path symptom.
Inspect negotiation, both legs and both directions
Read the final SDP offer and answer for each leg. Compare accepted codecs, payload mappings, send or receive direction, media address and port, and RTP versus SRTP policy. A negotiated codec name alone is not proof that decodable media arrived. Packets reaching a device with an incompatible security context require a different investigation from packets blocked before the PBX.
On a PBX relaying media, examine carrier-to-PBX, PBX-to-endpoint, endpoint-to-PBX and PBX-to-carrier observations separately. An incoming carrier stream is not proof it was bridged to the extension. If Asterisk is intended to stay in the media path, confirm whether direct_media changed that topology. Review recent firewall, NAT, VPN, codec, certificate or media-policy changes without assuming that the newest change is causal. For FreePBX PJSIP, the managed media-path investigation adds the required comparison among GUI values, generated configuration, loaded objects, final SDP and observed RTP on both legs.
Interpret packet evidence carefully
RTP sequence numbers and timestamps can expose continuity and timing, while SSRC values help distinguish sources. With SRTP, a capture can still show endpoints, ports, packet timing and many RTP headers, but it does not prove that either endpoint possessed the correct key or produced audible output. An empty capture does not prove that the network carried no packets until the interface, mirror direction, filter, direct-media path and capture-drop counters are checked.
Avoid a false success
Do not disable encryption, authentication or the firewall as the production repair. Correct the specific negotiation, route, NAT or endpoint-audio fault and repeat incoming, outgoing, hold, resume and transferred calls under the intended policy. Record the failing boundary and the exact evidence that changed. A decoded stream, answered dialog and user-confirmed bidirectional audio remain separate acceptance results.
Use the WebRTC media path when Asterisk registration succeeds
For a registered browser endpoint on Asterisk, use the WebRTC-specific diagnostic to distinguish WSS and SIP state from ICE selection, DTLS-SRTP establishment, browser-facing media counters and playback.
When a Zen trunk call answers in silence
The Zen no-audio diagnostic follows the answered dialog through SDP, B2BUA media addresses, both RTP directions and G.711 decoding without treating registration as media proof.
Verify Baresip audio modules and devices before codec changes
The Baresip registration and audio workflow keeps driver-module loading, global and account device selection, SDP, NAT traversal and RTP as separate evidence.
Branch to Linphone ICE only when the media path requires it
When the affected endpoint is Linphone and the evidence shows missing candidates, failed checks or an unexpected direct-versus-relay path, use the Linphone ICE diagnostic. A completed registration or configured server is not a media result.
Keep VOICE frames, RTP packets and audible output distinct
The Asterisk frame-trace diagnostic adds a channel-internal checkpoint without treating one VOICE frame as proof of continuous RTP, decoding or audible speech.
Map a silent VoIPstudio call beyond the green icon
A green application indicator and registered endpoint do not prove negotiated or rendered media. The VoIPstudio Desktop diagnostic follows SDP, both RTP directions, operating-system permission and selected call output independently.
Compare VoIP Much codec claims with the negotiated call
VoIP Much’s current product and codec pages do not list exactly the same codecs. The provider diagnostic therefore preserves SDP, packetization and both RTP directions rather than enabling every published codec.
Compare VoIPline SDP with the ordered service
The VoIPline diagnostic preserves the negotiated codec, packetization and both RTP directions rather than converting a published codec list into media proof.
Do not let a green Webex service state stand in for media
The Webex App workflow separates cloud status, phone-service connection, local device tests, call statistics and each media direction.
Classify 6940w SIP, PCLink and MobileLink audio first
When a 6940w is paired but silent or controlled by the wrong device, use the path-specific diagnostic.
SIPTRUNK signaling gateways may not be the RTP sources
Use the SIPTRUNK diagnostic to read SDP and trace each media direction before changing firewall scope.
Sources & applicability
Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.
- IETF RFC 3264 — SDP offer/answer model ↗
- IETF RFC 3550 — RTP and RTCP ↗
- IETF RFC 3711 — Secure RTP ↗
- Asterisk: configuring res_pjsip through NAT ↗
- Asterisk 22 res_pjsip configuration reference ↗
- Sangoma PBX GUI Asterisk SIP Settings ↗
- Sangoma FreePBX 12 SIP audio issues (legacy context) ↗
- Asterisk res_pjsip NAT configuration ↗
- Asterisk PJSIP troubleshooting guide ↗
- Asterisk bounded debug-information collection ↗
- Asterisk CHANNEL function ↗
- Asterisk WebRTC client configuration ↗
- Asterisk current res_pjsip configuration reference ↗
- RFC 8445: Interactive Connectivity Establishment ↗
- RFC 5764: DTLS-SRTP ↗
- RFC 8842: SDP offer/answer for DTLS ↗
- W3C WebRTC Statistics API ↗
- Zen General SIP Settings ↗
- Zen Business SIP Trunking ↗
- Zen Business Talk SIP specific terms ↗
- Baresip project repository and feature and module list ↗
- Baresip 4.12.0 release ↗
- Baresip account-file reference ↗
- Baresip configuration reference ↗
- Baresip module catalogue ↗
- Liblinphone latest NatPolicy API ↗
- Liblinphone 5.5 network parameters ↗
- Linphone ICE feature guide ↗
- RFC 8445: Interactive Connectivity Establishment ↗
- RFC 8489: Session Traversal Utilities for NAT ↗
- RFC 8656: Traversal Using Relays around NAT ↗
- RFC 8839: SDP offer-answer procedures for ICE ↗
- Asterisk FRAME_TRACE dialplan function ↗
- Asterisk FRAME_DROP dialplan function ↗
- Asterisk logging overview ↗
- Asterisk CHANNEL dialplan function ↗
- VoIPstudio desktop and mobile downloads ↗
- VoIPstudio Desktop Softphone manual ↗
- VoIPstudio user-manual introduction and platform requirements ↗
- VoIPstudio user, endpoint, SIP Test and MTR administration ↗
- VoIPstudio network, media, encryption and SIP ALG guidance ↗
- VoIP Much SIP Trunks ↗
- VoIP Much 3CX Phone System guide ↗
- VoIP Much FreePBX trunk guide ↗
- VoIP Much UniFi Talk guide ↗
- VoIP Much IP blocking guidance ↗
- VoIP Much SIP ALG guidance ↗
- VoIP Much supported audio codecs ↗
- VoIP Much quality suggestions ↗
- VoIP Much network status ↗
- VoIP Much service agreement ↗
- VoIPline Telecom SIP trunking ↗
- VoIPline Telecom pricing and rates ↗
- VoIPline Telecom legal documents ↗
- VoIPline Voice and SMS (IP) service schedule ↗
- VoIPline SIP trunks critical information summary ↗
- VoIPline Telecom network ↗
- VoIPline Telecom number porting ↗
- VoIPline Telecom service status ↗
- Supported calling options in Webex App ↗
- Webex App: find out what calling service you have ↗
- Webex App system requirements and support policy ↗
- Download the Webex desktop and mobile apps ↗
- Webex App: change your audio settings ↗
- Webex App: test your connection with the Health Checker ↗
- Webex App: troubleshoot connection issues with the Diagnostics tool ↗
- Webex App: error messages for Calling ↗
- Advanced diagnostics and troubleshooting in Control Hub ↗
- Mitel 6900 SIP Phones document center ↗
- Mitel 6900 IP Phone Series product page ↗
- Mitel 6940 and 6940w SIP phone user guide, release 6.4 SP3 ↗
- Mitel 6800, 6900 and 6900w SIP phones administrator guide, release 6.4 ↗
- Mitel 6900 accessories document center ↗
- Mitel 6940w SIP phone learning center for MX-ONE ↗
- SIPTRUNK general SIP device configuration ↗
- SIPTRUNK registration connection troubleshooting ↗
- SIPTRUNK inbound-call troubleshooting ↗
- SIPTRUNK IP authentication ↗
- SIPTRUNK call failover options ↗
- SIPTRUNK registration-status reference ↗
- SIPTRUNK interconnection and network requirements ↗
- SIPTRUNK direct-media delivery and missing audio ↗
Examples require adaptation to your topology. No live PBX or hardware testing is claimed.