Asterisk as proxy

I understood from some threads that since Astrisk is a B2B UA it cannt act as a proxy.
Is there a work around to allow asterisk to act as a proxy?
I’m using an Asterisk set between users and my SIP server. My SIP server chanllenges INVITES with 407 message which I would like to transfer to the user and pass the returining INVITE. Is that possibale?
If not can I use the following scenario:
User sends INVITE to Asterisk and enters as quest since questallow=yes. The peer that relays the messages to my SIP server is configured.
Can I transfer the variables of username or callerID (just number) from the client INVITE to the peer I’m using to authenticate with my SIP server?

this might be possible but in a somewhat limited way… you could use the func … sip_header to pull the username out of the incoming call and then make a sip channel based on it ie Dial(SIP/${SIP_HEADER(username)}@gateway/${EXTEN}) (i dont remember the exact syntax for setting up a sip call on the fly so that could well be wrong)


oej posted on the mailing list about a new SIP branch called outgoing proxy. Search around for it. or look in in svn for the branch.