[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Linphone-users] Redirection fails
From: |
David . HENRY |
Subject: |
[Linphone-users] Redirection fails |
Date: |
Wed, 17 May 2006 18:58:47 +0200 (MEST) |
User-agent: |
SquirrelMail/1.4.3a |
Hello,
I'm a french student, currently in placement where I work with the SIP
protocol (sniffing packets, making redirections). I use linphone for
testing, but I can't get redirections working with linphone (unstable
1.3.99.1). I always have a dialog box with "Could not parse given sip
address. A sip url usually looks like sip:address@hidden".
Today I looked at the code, tracking the bug. Maybe I'm wrong... But here
is what I found:
Scenario:
* I call Joe (INVITE)
* Joe send me a redirect message (302 Moved Temporarily)
* I should call the contact given in joe's redirect message, but I fail.
Inside the code:
* linphone_core_invite() calls eXosip_initiate_call_with_body()
* eXosip_initiate_call_with_body() calls
osip_transaction_set_your_instance(transaction, __eXosip_new_jinfo(jc,
NULL, NULL, NULL)); so the jinfo_t's jd member is NULL
* then I receive the 302 message, cb_rcv3xx() is called
* cb_rcv3xx() retrieve the jinfo_t by calling
osip_transaction_get_your_instance(). jinfo->jd is still NULL.
* cb_rcv3xx() calls report_call_event_with_status(EXOSIP_CALL_REDIRECTED,
jc, jd, sip)
* report_call_event_with_status() calls eXosip_event_init_for_call() but
jd == NULL, so fill_dialog_params() is not called, and the remote contact
from Joe's SIP message is not copied to je->remote_contact...
* report_call_event_with_status() calls eXosip_event_add()
* later, eXosip_event_wait() is called by linphone_core_iterate(), and
returns the event added previously
(je = (eXosip_event_t *) osip_fifo_tryget(eXosip.j_events);)
* then linphone_core_iterate() calls linphone_core_process_event()
* linphone_core_process_event() calls
linphone_call_redirected(lc,ev->did,ev->status_code,ev->remote_contact),
but ev->remote_contact is empty...
* linphone_call_redirected() calls linphone_do_automatic_redirect() with
the empty contact URL
* linphone_do_automatic_redirect() calls linphone_core_invite() with the
empty contact URL
* linphone_core_invite() calls linphone_core_interpret_url() which fails
because the URL is empty
Was linphone be known to perform redirections properly? I had this problem
with linphone 1.0, 1.2 and the last unstable (1.3.99.1).
Thank you,
David.
PS: sorry if I posted on the wrong list, I don't know if it should go to
the developer list or not.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Linphone-users] Redirection fails,
David . HENRY <=