Hi Everyone ,
Issue Summary
Asterisk is dropping incoming calls with “Lack of Media RTP” error before the call is answered, despite no SDP exchange having occurred from Asterisk’s side.
Call Flow
User A → SBC (Kamailio + RTPEngine) → Asterisk → Trunk
Problem Description
-
Incoming INVITE with SDP is received by Asterisk through SBC
-
Asterisk processes the call and determines routing (extension/trunk)
-
Asterisk sends only 1xx responses (100 Trying, 180 Ringing)
-
No 183 Session Progress messages are sent
-
No SDP is sent by Asterisk at this stage
-
Call is dropped with “Lack of Media RTP” error before being answered
-
This occurs during call setup phase, not after answer
Expected Behavior
RTP timeout should only start after SDP offer/answer exchange is complete. Since Asterisk has not sent any SDP response (only 1xx messages without SDP), no RTP timeout should be active.
Actual Behavior
Asterisk appears to be starting RTP timeout monitoring immediately upon receiving the INVITE with SDP, even though it hasn’t completed SDP negotiation by sending its own SDP response.
Environment
-
**Asterisk Version:**16.30
-
Channel Driver: chan_pjsip
-
Network Setup: SBC with Kamailio + RTPEngine proxy
SIP Message Flow
-
INVITE (with SDP) from User A → SBC → Asterisk
-
100 Trying ← Asterisk
-
180 Ringing ← Asterisk
-
[Call dropped with “Lack of Media RTP” at this point]
-
No 183 Session Progress sent
-
No 200 OK sent
Questions for Investigation
- Should RTP timeout start immediately upon receiving INVITE with SDP, or only after SDP answer?
Workaround
Setting rtptimeout=0 prevents the issue, confirming this is RTP timeout related.