I don't know if it makes a difference in your situation but here is one thing that has helped a customer/neighbor of mine.
They have multiple inbound numbers ported to
Voip.Ms. These numbers have different buttons on their Obi2182 phones.
Voip.Ms does not have multiple outbound lines for this account, they have one outbound connection. Each extension uses that outbound with the only difference being the CALLER ID they use to the called party.
Voip.Ms allows me to specify an outbound CALLED ID. Until recently when the FCC changed thiungs, I could have used ANY caller ID (the Whitehouse for example).
Now, you can only use a called-id that you own. If the number is actually in your account (ported in), you can use that. If the number is not within your account (say a cellphone), you CAN use that number for outbound calls, but you have to verify that you own and control that number. They do that with a one-time telephone call and code.