Hello Everyone,
I've been grappling with this issue for some months, time to raise the white flag. Essentially I need to work out a way to configure Kamailio/RTPengine to normalise telephone-events to 101 earlier in the piece.
1. Call comes in from Carrier with INVITE w/SDP, telephone-event payload of 96. 2. INVITE sent to Asterisk with the same SDP, payload = 96 3. INVITE sent from Asterisk to Client with payload = 101 * 200 OK w/SDP from Client has payload = 101 * 200 OK w/SDP to Kamailio has payload = 96 * 200 OK w/SDP to Carrier has payload = 96 4. Asterisk (with Direct Media enabled) sends INVITE to Kamailio with payload = 96, and new media IP of Client 5. Kamailio passes this onto Carrier with media IP of RTPengine 6. 200 OK w/SDP from Carrier has payload = 96 sent to Kamailio 7. Kamailio passes this 200 OK to Asterisk, which responds with ACK and doesn't do anything further
+---------+ +----------+ +---------+ +---------+ | Carrier | <----1-----> | Kamailio | <-----2----> | Asterisk| <----3------>| Client | | | | | | | | | +---------+ +----------+ +---------+ +---------+ ^ | | | | | |3| | | | | | +------5---------> +-----------+ <-----------------+------------4-----------+ | RTPengine | +-----------+
Big issue is, the Client is expecting telephone-events with a payload of 101, whereas RTPengine is passing it 96 from the Carrier.
* Inbound DTMF only works at client-side if Asterisk stays in path (far from ideal). * The issue is exacerbated when calls are sent back out to the same or another carrier (forward scenario). * There's nothing I can seem to do in Asterisk to change how it handles DTMF in a direct media/re-invite setting.
Any ideas?
Cheers,
Tim Bowyer