Sending post-dial DTMF with Java ME
In general, it is not possible send a DTMF to a service by the operator directly. But you can send a DTMF together with the phone number you are dialing with platformRequest(). This is so called post-dial DTMF.
One needs to separate the post-dial DTMF from the phone number with "p" (pause) character. Works on both Series 40 2nd and 3rd Edition devices.
One needs to separate the post-dial DTMF with a slash "/". If you omit this separator the dialtones do not appear on S602nd Edition FP2 devices.
On S60 3rd Edition phones (or at least on E61) this also works, although it generates an additional "p" in front of the DTMF string – which should not matter if the server-side implementation is not too sensitive for a little longer pause.
As a sidenote, if one omits the slash character the DTMF tones can be heard on S60 2Ed FP3 devices, but user has to first confirm the signals to be sent, which is an additional step and might be problematic for the user as the confirmation screen might end up in the background (waiting for the confirmation -> so the tones are never sent).