As I said earlier, I misunderstood some things. sorry for the trouble.
2009/9/25 Olle E. Johansson oej@edvina.net:
24 sep 2009 kl. 12.46 skrev Daniel-Constantin Mierla:
Hello,
On 24.09.2009 12:10 Uhr, catalina oancea wrote:
Hi,
In my scenario kamailio is not a registrar, it's just a proxy forwarding requests from asterisk to the provider.
I see.
As Juha said, REGISTER does not create a real dialog, since the contact in 200OK is the address of publisher not of destination. So a proxy does not have within-dialog like routing information.
So here is a hack you can try:
- add record route on your proxy
- the provider should add its own record route to REGISTER reply -- if it
is kamailio, that is simple via append_to_reply() from textops, just before save() call.
- hope/pray that asterisk is using these dialog info for building
re-registration messages
- on your kamailio route based on Route header
RFC 3261, section 10.3: Registrars MUST ignore the Record-Route header field if it is included in a REGISTER request. Registrars MUST NOT include a Record-Route header field in any response to a REGISTER request. A registrar might receive a request that traversed a proxy which treats REGISTER as an unknown request and which added a Record-Route header field value.
Oops.
/O
Cheers, Daniel
2009/9/24 Daniel-Constantin Mierla miconda@gmail.com:
Hello,
On 24.09.2009 11:47 Uhr, catalina oancea wrote:
Hi all,
I tested the following scenario:
astreisk kamailio provider(hostname) --------------------> dns lookup --------------------> REGISTER 1 REGISTER 1
<-------------------- <-------------------- 401 401
--------------------> dns lookup --------------------> REGISTER 2 REGISTER 2 (same dialog, increased cseq)
It seems that kamailio does dns lookup again when receiving REGISTER 2, although both registers are part of the same dialog. Is this the expected behavior?
IIRC now, there is no place in registrar related modules (registrar and usrloc) where DNS query is done. You have some checks in your config that caused that.
There is also an option to fetch existing contacts from location and see if it is an update (matching by call id and cseq) and do directly save("location").
Cheers, Daniel
-- Daniel-Constantin Mierla
- Kamailio SIP Masterclass, Nov 9-13, 2009, Berlin
- http://www.asipto.com/index.php/sip-router-masterclass/
Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
-- Daniel-Constantin Mierla
- Kamailio SIP Masterclass, Nov 9-13, 2009, Berlin
- http://www.asipto.com/index.php/sip-router-masterclass/
Kamailio (OpenSER) - Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
- Olle E Johansson - oej@edvina.net
- Cell phone +46 70 593 68 51, Office +46 8 96 40 20, Sweden