This example is no definitive enough, because it does not specify how branch numbers under 10, under 100, 300 to 999 and 1000+ are encoded. E.g. Is on office pc on:
branch 1 = 10.100.01.5
branch 12 = 10.100.12.5
branch 100 - 10.101.00.5
branch 345 = 10.103.45.5
branch 1234 = 10.112.34.5
If so there are issues to be aware of when coding it:
a) Do branches 1 to 9 have leading zeros? E.g. (10.100.01.5) is an invalid IP address Should it be 10.100.1.5?
b) The same with branches n00 to n09 and nn00 to nn09. E.g. 100 to 109 and 1200 to 1209.
c) Most of these examples do not fit in the range 10.101.xx.xx to 10.102.xx.xx that you specified.
d) Branches 1000+ do not fit in the range 10.10x.xx.xx at all.
I.e. The range you specified only accommodates branches 110 to 199 and 210 to 299. Please clarify how the rest are encoded.
Also. do you realize that this encoding only supports ONE office PC per branch!!! What if they have 2 or more!!! And even if they have only one at the moment, is that set in stone? Should you design a system that is incapable of accommodating multiples?