I have ~100 phones set up in /etc/asterisk/users.conf, each of which has its own internal extension (i.e. dialing 101 will call Phone 101, dialing 144 will call Phone 144). However, every phone needs to have the same caller ID when placing external calls (i.e. when Phone 144 calls a cell phone, the caller ID should read “John Smith 555-5555”). So far this is accomplished by setting callerid in /etc/asterisk/users.conf to "John Smith" <555-5555> for all 100 phones.
This has led to a lot of confusion for internal callers because even internal calls show the same “John Smith 555-5555” caller ID. I’d like it to show the actual internal caller, such as “Phone 144 x144”. Setting callerid to "Phone 144" <144> accomplishes this on internal calls, but totally messes up external caller ID.
Is there some way to tell Asterisk: “I don’t care what is set in /etc/asterisk/users, ALL external calls should use this caller ID”? If it helps, users must dial 1 before an external number to place an external call but I’m not sure which config file sets this.
However, it still displays the full external caller ID when placing an internal call. Did I use Set(CALLERID(all) incorrectly? I didn’t realize this was an option to set in the dialplan.
This is very doable. I have 6 different callerIds that are used depending on which region my users are calling (so I can provide a local caller id for them to return calls to)
It’s a question of when to set the value, there is a portion of your dialplan that deals with connecting to your outbound trunk, change the callerID there aswell and you are golden.
Hi @jcolp, I’m not sure what you mean (I inherited a finished Asterisk setup with no training). I tried switching the lines in my earlier example to read like so:
Yep, I’ve reloaded the config. I can see == Setting global variable 'phone144' to 'SIP/phone144'. To be honest I’m not sure what else to look for. Other changes, such as setting Phone 144 to a different extension, did work.