I know this is a bit of a necro, but i can't see your relevent logs.
Its not as fancy as *1 and **, but it should work in the same idea. -- Make an extension that is a conference extension, anyone who calls ext 6000, gets placed in a conference call.
Person A calls Person B.
Person A and B talk, and then Person A decides Person C should be in on the call too.
Person A blind-transfers Person B to extension 6000.
Person A Calls Person C, Briefs him, and blind-transfers Person C to extension 6000.
Person A then Calls Extension 6000.
Rinse and repeat as many times as necessary -- or AIM your buddies to dial extension 6000.
(I am actually using Sipnet and Zadarma on my FreeSWITCH server)
Sipnet.ru allows you to forward all incoming calls to a SIP URI. Also it allows creating sub-accounts. So, you create as many sub-accounts as you need, and set the forwarding of all calls to some unique URI, like vasya-pupkin@yourdomain.com
Then in your FreeSWITCH configuration, you create a new public extension:
File: conf/dialplan/public/50_users.xml
<include>
<extension name="pub_vasya-pupkin">
<condition field="destination_number" expression="^vasya-pupkin$">
<action application="transfer" data="1007 XML default"/>
</condition>
</extension>
so all calls to vasya-pupkin@yourdomain.com will be transferred to 1007 internal extension.
Fother SIP provider which don;t support forwarding (zadarma.com, for example), you create a SIP profile and use "extension" parameter to specify which extension in your public profile should be used:
File: conf/sip_profiles/external/zadarma.xml
<gateway name="zadarma_59555">
<param name="username" value="59555"/>
<param name="password" value="*******"/>
<param name="extension" value="vasya-pupkin"/>
<param name="expire-seconds" value="125"/>
<param name="register" value="true"/>
<param name="register-transport" value="udp"/>
<param name="proxy" value="sip.zadarma.com"/>
<param name="retry-seconds" value="30"/>
<param name="caller-id-in-from" value="false"/>
<param name="ping" value="27"/>
</gateway>
I've got some more practical examples in my blog, just in case.
Best Answer
For the AMI you're looking for the Event Socket Library. There are a few examples available on the mod_event_socket page.
AGI is a little different. You can do things similar in FreeSWITCH but they would recommend using lua. I've personally used the FreeSWITCH mod_perl with good results.