Multiple company outbound CallerID problem

I set up FreePBX with 3 companies on the same machine.

Company 1 assigned CID is 1111111,
Company 2 assigned CID is 2222222,
Company 3 assigned CID is 3333333,

Under Outbound routes, Companies listed as follows
Outbound Company 1
Outbound Company 2
Outbound Company 3

When I call from Company 2 or Company 3, the company 1’s CID (1111111) shows as callerid.

When I change the the sequence to
Outbound Company 3
Outbound Company 2
Outbound Company 1

This time Company 3’s CID (3333333) shows as callerid. It seems that it starts from the first route. I tried Route Position but did not work.

Is there a way to just use the related company CID for each company?

Thank you

It seems that I can use callerID field on the outbound route page according to this post

But I am not sure how to setup the extensions to the callerids. So, If I have 1XX, 2XX and 3XX extensions, what is the proper way to add dial patterns for the extensions?

or
is there a way to add the callerid’s manually?

I ended up clearing all the callerid’s I setup for trunks and outgoing. Then I entered the callerid’s for the extensions one by one.