On Tue, 2008-09-16 at 14:53 -0400, Joseph Attardi wrote:
> I'm currently working on XCF-2604 (FreeSWITCH: Allow adding a conference 
> participant from inside the bridge). Apparently I need to send a SIP 
> REFER message to get the new participant to join the conference. 
> However, I'm having a problem.
> 
> Here is what I'm doing:
> SipService service = getSipService();
> User user = getUserSession().getUser(getCoreContext());
> service.sendRefer(user, "sip:[EMAIL PROTECTED]",
>      "sip:[EMAIL PROTECTED]");
> 
> where 200 is the extension I want to call to add to the conference, and 
> 4444 is the conference extension.
> 
> It starts out good enough - my phone registered to extension 200 rings. 
> But when I answer the call, it immediately hangs up.

First, it's probably a good idea to modify your initial INVITE slightly:
you sent (in part):
        
        INVITE sip:[EMAIL PROTECTED] SIP/2.0
        Call-ID: [EMAIL PROTECTED]
        CSeq: 105 INVITE
        From: <sip:[EMAIL PROTECTED]>;tag=1157360056
        To: <sip:[EMAIL PROTECTED]>

One problem with this is that if the user does not answer, it will roll
over to voicemail.  You can prevent that by including a parameter in the
target address:

        INVITE sip:[EMAIL PROTECTED];sipx-noroute=voicemail SIP/2.0
        Call-ID: [EMAIL PROTECTED]
        CSeq: 105 INVITE
        From: <sip:[EMAIL PROTECTED]>;tag=1157360056
        To: <sip:[EMAIL PROTECTED];sipx-noroute=voicemail>

It would be a good idea to put some kind of display name on the From
header of the INVITE for this: "Join Conference <name>" or something... 

> I was talking to Ranga and he asked me to post here with the SIP trace, 
> so here it is. I think I captured it correctly - forgive me please if I 
> did it wrong :)

The problem is that a blind transfer must be authenticated, and you
didn't respond when the proxy challenged you.  The response to the REFER
was:

        SIP/2.0 407 Proxy Authentication Required
        From: <sip:[EMAIL PROTECTED]>;tag=1157360056
        To: <sip:[EMAIL PROTECTED]>;tag=BBB30712-8850DD5
        Call-Id: [EMAIL PROTECTED]
        Cseq: 106 REFER
        Via: SIP/2.0/UDP 
47.16.91.3:5180;branch=z9hG4bKcac72e16efa84b8c5cf65b8b8a866bf9
        Proxy-Authenticate: Digest realm="us.nortel.com", 
nonce="a58b7d40e39911ceb60c8170deaa857348cffb9d"
        Server: sipXecs/3.11.6 sipXecs/sipXproxy (Linux)
        Date: Tue, 16 Sep 2008 18:31:57 GMT
        Content-Length: 0

which is an authentication request.  You need to provide credentials to
your user agent so that it can authenticate the request.

I suggest that the authentication be that of the user who is creating
the outbound conference request - whoever logged in on the web interface
to request that the new user be invited into the conference.




_______________________________________________
sipx-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev

Reply via email to