I was able to setup single stage outbound calls with the non-login GetOnSip method.
I used Raspbx as an interface between GetOnSip and the OBi.
GetOnSip wants a name when you make a call with the no-login method.
Instead of a name, enter an outbound number.
Since this method is totally insecure I tried to add some security by including a 3 character PIN prefix to the dialed number.
Add GetOnSip as an inbound trunk in Raspbx.
The inbound call has Cname set to the entered string.
In a custom destination the PIN is stripped off and the outbound number is sent to the OBi.
In this example I'm routing the call to an OBi, but you can do anything you want.
You can include a prefix and route 1 prefix to the OBi and another to a Raspbx trunk.
Add the following code to /etc/asterisk/extensions.custom.conf
[getonsip]
exten => s,1,Set(dialnum=${CALLERID(name)})
exten => s,n,Set(CALLERID(num)=USERID)
;Change USERID to the ID in the OBi InboundCallRoute
exten => s,n,Set(CALLERID(name)=GetOnSip)
exten => s,n,GotoIf($[ $["${dialnum:0:3}" = "PIN"]]?routecall)
;Change PIN to the 3 character Pin you want to use.
exten => s,n,Hangup()
exten => s,n(routecall),Dial(SIP/${dialnum:3}@192.168.1.100:5061)
;192.168.1.100:5061 is the IP address and port of the OBi
To make the above active, enter the following command in the Asterisk CLI:
dialplan reload
Setup a Custom Destination in Freepbx: getonsip,s,1
Description: WebRTC Calls
Add an inbound route for GetOnSip and point it to the above custom destination.
Edit:
The same setup can be accomplished in SipSorcery.