The part I don't understand fully is the dial-string changes, for example in the choice 1:
Usage: ${verto_contact ${dialed_user}@${dialed_domain}}My first try was to use the second option:
<param name="dial-string" value="{^^:sip_invite_domain=${dialed_domain}:presence_id=${dialed_user}@${dialed_domain}}${sofia_contact(*/${dialed_user}@${dialed_domain})}:${verto_contact
${dialed_user}@${dialed_domain}}"/>
What I try was to call a local extension that is logued using verto, but somehow is trying to look for it like if is a sofia user, of course it says that the user is not available.
I want to understand this line fully, mostly because of the flow that traverse this dial-string.
I'd also try the last option of saying that a specific user is a verto user:
<params>
<param name="dial-string" value="${verto_contact ${dialed_user}@${dialed_domain}}"/>
</params>
That works wonders, but I want my users to use SIP and Verto when one or other is available.
Last thing I try is to use choice 2, to bridge in the dialplan: verto.rtc/
foo@bar.comIn that case what I do was to use the local extensions dialplan and put the bridge after the sofia user/XXXX, something like a failover option. In this case works calling from SIP (sofia) to verto, but the other way it says the user is not available.