Problem
It can happen that despite correct protocol negotiation between XCC and PBX via SDP, the outband DTMF signals (RTP event according to RFC 2833) are transmitted incorrectly by the PBX. The signals are then not recognized by the XCC and there is no response to DTMF inputs.
Cause
The SDP header contains the wrong DTMF payload type after protocol negotiation. The XCC default value for the DTMF payload type is 98, it is possible that either the PBX does not support this payload type or sends the RTP events with a different payload type.
Solution
The parameter XccDtmfPayloadType allows the manual correction of the transmitted payload type by XCC, the DTMF signals are recognized correctly again. This parameter can be set in the advanced settings of the SIP gateway.
Determine the payload type to be used there as follows (see also example below):
- Determine call direction (inbound or outbound)
- Determine the sender of the DTMF signals (AnyDevice or conversation partner)
- Create and evaluate network trace (Npcap, Wireshark)
- Determine payload type in the SIP message (depending on the call direction in INVITE or 200 OK)
- Filter RTP events with udp.dstport == <port> && ip.dst == <IP address> && rtpevent
- Determine payload type in the RTP event
- If necessary, correct the payload type for the XCC (parameter XccDtmfPayloadType)
Example of the procedure
The situation:
- Outgoing call (outbound call) from an AnyDevice
- DTMF is sent by the AnyDevice
- DTMF payload type is to be checked
The procedure:
1. negotiation of the DTMF payload type in the SDP header:
In this case, the SDP header from the SIP message 200 OK of the first call leg must be analyzed (AnyDevice side). A payload type (media format) of 98 was negotiated here, the default value of the XCC.
2. determine the RTP events of the DTMF signals:
A filter rule in Wireshark is used to list the DTMF signals sent by the AnyDevice.
3. determine the payload type of the RTP events:
Select one of the RTP events filtered above and read out the payload type in the area below. Here too, the payload type is 98 and therefore correctly transmitted.
If the two types determined do not match, this can be corrected using the XccDtmfPayloadType parameter in the advanced settings of the SIP gateway. To do this, the payload type of the PBX determined in step 1 is forwarded to the XCC via XccDtmfPayloadType and corrected there.
Comments
0 comments
Article is closed for comments.