While the code is open I am wondering if a small issue with dial plans could be addressed. While it is easy with plus and bar to add and trim leading digits from the dial string, there does not appear to be a way to truncate the string and only pass the left n digits for processing with out writing a custom macro.
This is an issue because in today’s IVR world of business many times your end point has dialed 12, 13, 14 or more digits to get connected to a party at the local food store, or doctors office. If you then need to redial that number all of the digits, not just the first 7 or 10 get passed by the end point when you hit redial on the device. This is especially true of wireless analog units connected by ZAP/ATA interfaces with no dial plan strings that can be assigned.
The ability to take a string like 770399123423413 and apply something like 1+7703991234!. and have the 17703991234 passed to the trunk would be a major help in the SOHO and small business environments. The bang ! being the separator and the . wild card meaning as many digits as dialed.