Redial doesn't work on LinkSys SPA942 due to CID

OK I know this isn’t necessarily an issue specific to FreePBX/Asterisk, but I figured I would ask it here anyway.

I have some SPA942 phones and all the CID info on inbound calls starts with a +1NPANxxXXXX. If I hit redial, the asterisk logs show that an invalid extension is being dialed. Assuminig I want to fix this on the LinkSys phone, how would I change the dial plan to strip the “+” symbol or perhaps substitute the “+” symbol for a 9? I have seen and read some posts on ways to modify the CID that comes in, though I would prefer not to do it this way.

Ideas?

Don’t change it on the phone – change it in Asterisk/FreePBX, that way if you get different phones the fix will still work.

First of all, when you define the context the trunk goes to, make it go to custom-from-trunk-strip-cid (or something similar, you can call it whatever you want) then in extensions_custom.conf do:

[custom-from-trunk-strip-cid]
exten => _+.,1,Set(CID(number)=${CID(number):1})
exten => _+.,n,Goto(from-trunk,${EXTEN:1},1)