hgmnetwork
Me imagino que tienes ya un proveedor que te permite sobreescribir el caller ID (solo cuidado con eso que es un delito ). Ahi recomiendo tener los números en tu propiedad, sobretodo si esperar un callback por parte del cliente.
Te comparto algo de codigo que tengo para eso.
Esto dentro de tu dial plan de salida
exten => _4XXXXXXXXXX,5,Gosub(randonlavariega,num${RAND(1,24)},1)
y así hasta el 24 (en el caso del ejemplo)
[randonlavariega]
exten => num1,1,Set(CALLERID(num)=1234567890)
same => n,Return
exten => num2,1,Set(CALLERID(num)=1234567892)
same => n,Return
exten => num3,1,Set(CALLERID(num)=1234567893)
same => n,Return
exten => num4,1,Set(CALLERID(num)=1234567894)
same => n,Return
exten => num5,1,Set(CALLERID(num)=1234567895)
same => n,Return
exten => num6,1,Set(CALLERID(num)=1234567896)
same => n,Return
exten => num7,1,Set(CALLERID(num)=1234567897)
same => n,Return
exten => num8,1,Set(CALLERID(num)=1234567898)
same => n,Return
exten => num9,1,Set(CALLERID(num)=1234567899)
Obviamente la complejidad puede crecer de acuerdo a tus requerimientos.
Un saludo