I am trying to get a Gigaset C470 IP to work on my Internet connection. I have figured out the correct configuration for the device and my router (a pfSense sitting between the DSL modem and the LAN) to the point that I can make outgoing calls and receive incoming calls.
Outgoing calls work without any issues. On incoming calls, however, audio works only for the first second of the call – after oe secod has elapsed, there is no audio in either direction. The call stays up until one end hangs up.
A packet capture on the external interface of the pfSense reveals that the following happens:
- I get a SIP
- The Gigaset responds with
- I accept the call, the Gigaset responds with
- There is RTP traffic in both directions
- A second into the call, the Gigaset responds with a new
INVITEto the calling party
- More bi-directional RTP traffic for another 0.1 s
- After these 0.1 s the SIP provider responds with
100 Tryingand later with
- Following the
100 Tryingthere is no more incoming RTP traffic. There is still outgoing RTP traffic, but neither party can hear the other.
Looking into the codecs used, both parties settle for G.711 following the first
INVITE. As far as I can tell from the trace, the RDP traffic indeed uses G.711. The re-
INVITE proposes a set of codecs that slightly differs from the original
INVITE but both parties apparently agree to continue using G.711.
However, the re-
INVITE seems to cause the remote end to stop sending or accepting any further RTP for this call – but why? And what can I do about it?