An updated app_dtmftotext.c for Asterisk. Originally from http://www.soft-switch.org/downloads/spandsp/app_dtmftotext.c (per http://www.voip-info.org/wiki/index.php?page=Asterisk+cmd+DTMFToText): DESCRIPTION This provides functionality somewhat like text entry on a cellphone, but works for any DTMF phone. It does not depend on the timing of the key taps, as cellphones do. This would cause serious problems when the sending phone generates DTMF, with timing completely isolated from the user's tapping of the keys (PBXs with digital phones, cell phones to land lines, and other situations are generally like this. Initially input is in numeric mode. The '*' and '#' keys are used to alter the entry mode from that point, to permit full entry of English (or any other Romance language that does not demand accents). '**X' changes mode, or backspaces. The valid values for 'X' are as follows: '**2' (C) backspaces a character '**5' (L) selects lower case input '**6' (N) selects numeric input '**7' (P/S) selects punctuation/symbols '**8' (U) selects upper case input '**9' (W) backspaces a word '**#' Read back message to date and continue entry When in alpha entry mode, characters are entered by multiple presses of the numeric digit labelled with the required character. This is similar to text entry on most cellphones. '*' is a break point between characters, if it is not followed by a second '*' '#' on its own terminates input In alpha mode, characters may be entered as follows: 0 , 00 . 000 ? 0000 0 1 ! 11 : 111 ; 1111 # 11111 1 2 A 22 B 222 C 2222 2 3 D 33 E 333 F 3333 3 4 G 44 H 444 I 4444 4 5 J 55 K 555 L 5555 5 6 M 66 N 666 O 6666 6 7 P 77 Q 777 R 7777 S 77777 7 8 T 88 U 888 V 8888 8 9 W 99 X 999 Y 9999 Z 99999 9 In symbol mode, characters may be entered as follows: 0 = 1 < 11 ( 111 [ 1111 { 11111 1 2 @ 22 $ 222 & 2222 % 22222 2 3 > 33 ) 333 ] 3333 } 33333 3 4 + 44 - 444 * 4444 / 44444 4 5 ' 55 ` 555 5 6 \" 66 6 7 ^ 77 7 8 \\ 88 | 888 8 9 _ 99 ~ 999 9