My limited testing showed the "ui=$1" either worked perfectly or was rejected depending on the service provider.
I came up with 2 solutions when the calls are rejected. Both are not ideal, but I believe they work.
Solution 1
PBXes accepts calls with "ui=$1"
Forward the call to
PBXes.org, then within PBXes forward the call to freephoneline.
Get a free account at
PBXes.org.
Define an extension like 0001.
Under Device Option change the Dial option to "SIP/5145551212@voip.freephoneline.ca"
The external extension number become YourPBXesID-0001.
Change OBi X_InboundCallRoute to {sp2(YourPBXesID-0001@pbxes.org;ui=$1),ph}.
Solution 2
Change OBi X_InboundCallRoute to the default.
Get a free IPKall phone number.
Config IPKall to SIP URI =
5145551212@voip.freephoneline.caAdd the IPKall number to your GoogleVoice Settings.
In GoogleVoice Settings forward all calls to GoogleChat and IPKall.
In the past IPKall had problems delivering the correct CID.
My IPKall number seems to be fixed.