Hello,
have you created the transaction before calling registrar/usrloc
functions (e.g., using t_newtran())? You seem to want to match from
transaction point of view.
Registrar is matching based on contact, that being the key for the
registrations -- there are some module parameters that allow different
matching options.
Cheers,
Daniel
On 7/25/13 11:46 AM, Shankar wrote:
>
> Hi,
>
> We are testing the REGISTRAR with kamailio.
>
> We tested the following scenario ,
>
> èRegister Request with contact 'A'.
>
> è200 OK received for the request
>
> èSecond Register request with contact 'B'. (Requet-URI, To Tag, From
> tag, call-id, and Cseq -> all same as the first register request)
>
> è200 OK received for the request.
>
> When we checked the 'location' table entry, two records were found for
> the same user with different contact addresses.
>
> Please find below the RFC extract below,
>
> Section 17.2.3
>
> For all other request methods, a request is matched to a transaction
>
> if the Request-URI, To tag, From tag, Call-ID, CSeq (including the
>
> method), and top Via header field match those of the request that
>
> created the transaction. Matching is done based on the matching
>
> rules defined for each of those header fields. When a non-INVITE
>
> request matches an existing transaction, it is a retransmission of
>
> the request that created that transaction.
>
> My understanding is that the second register request should be
> considered as duplicate and rejected.
>
> Please share your feedback on the same.
>
> Regards,
>
> Shankar
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users(a)lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Hi,
We are testing the REGISTRAR with kamailio.
We tested the following scenario ,
è Register Request with contact A.
è 200 OK received for the request
è Second Register request with contact B. (Requet-URI, To Tag, From tag,
call-id, and Cseq -> all same as the first register request)
è 200 OK received for the request.
When we checked the location table entry, two records were found for the
same user with different contact addresses.
Please find below the RFC extract below,
Section 17.2.3
For all other request methods, a request is matched to a transaction
if the Request-URI, To tag, From tag, Call-ID, CSeq (including the
method), and top Via header field match those of the request that
created the transaction. Matching is done based on the matching
rules defined for each of those header fields. When a non-INVITE
request matches an existing transaction, it is a retransmission of
the request that created that transaction.
My understanding is that the second register request should be considered as
duplicate and rejected.
Please share your feedback on the same.
Regards,
Shankar
Hi All,
I have cfg file which behaves like both presence and xcap (Integarted cfg)
took reference from
http://nil.uniza.sk/instant-messaging/simple/configuring-xcap-support-im-and
-presence-over-kamailio-31-debian-lenny. Kamailio is running but xcap table
is not getting updated. Using JTSI as client(please refer screen shot for
xcap configuration in jtsi client). I would like to know the following
1.) Any issue/missing in the cfg file (Please find the attached cfg
file).
2.) When xcap table will be updated.
I kindly request to help us.
Regards,
Prem Chandiran M
Hi,
With TCP, there is no way Server can establish a TCP connection through
client's Firewall/NAT.
So, when Client connection is disconnected from the server due to Network
issues, the Registration should be removed.
I tried to handle this with a Event Route in tcp_read.c. However, There is
not an easy way to find the Registration with TCP socket info (IP and Port
of the Client).
Could anyone suggest a solution?
Thanks
Krish Kura
Hello,
I've been trying to make the Presence thing work with kamailio
4.0.1 and SipML5 browser client .I have loaded only the modules which are
already in the Kamailio.cfg file
loadmodule "presence.so"
loadmodule "presence_xml.so"
Is it necessary to load other modules as well?At the same time I request
you to suggest which Sip client I should use in order to make presence work.
Rupayan Dutta
Hi,
There've been a couple of questions regarding mediaproxy-ng as an
rtpproxy replacement on how to get it up and running with kamailio and
what it does compared to rtpproxy, mediaproxy and iptrtpproxy.
I hope, the README.md at
https://github.com/sipwise/mediaproxy-ng
answers these questions and makes it easy for you to use it.
Feedback highly appreciated,
Andreas
Hi all,
I'm running Kamailio 3.0.0, with SEMS integration as Media Server for Voice
mail. I'm trying to get a configuration to forward calls on busy to voice
mail. I have followed without success some examples. I'm using
revert_uri(), rewritehostport() and append_branch(), within failure_route.
It seems to be modifying R-URI properly, and generating the new branch, but
Kamailio is sending the new invite packet to the IP address of the original
destination UAC, and not to the IP address of the voicemail, that was
indicated in the R-URI. Here you can see the packet flow:
|Time | 192.168.3.20
| 192.168.0.167 |
| | | 192.168.0.197 |
|5,069 | INVITE SDP ( telephone-event)
| |SIP From: sip:4095@192.168.0.197
To:sip:4440@192.168.0.197
| |(5060) ------------------> (5060) | |
|5,071 | 407 Proxy Authentication Required
| |SIP Status
| |(5060) <------------------ (5060) | |
|5,074 | ACK | | |SIP
Request
| |(5060) ------------------> (5060) | |
|5,076 | INVITE SDP ( telephone-event)
| |SIP From: sip:4095@192.168.0.197
To:sip:4440@192.168.0.197
| |(5060) ------------------> (5060) | |
|5,084 | 100 trying -- your call is important to us
| |SIP Status
| |(5060) <------------------ (5060) | |
|5,085 | | INVITE SDP (
telephone-event) |SIP Request
| | |(5060) ------------------> (5060) |
|5,088 | | 100 Trying| |SIP
Status
| | |(5060) <------------------ (5060) |
|5,088 | | 486 Busy Here |SIP
Status
| | |(5060) <------------------ (5060) |
|5,091 | | ACK | |SIP
Request
| | |(5060) ------------------> (5060) |
|5,101 | | INVITE SDP (
telephone-event) |SIP Request
| | |(5060) ------------------> (5060) |
|5,102 | | 404 Not Found |SIP
Status
| | |(5060) <------------------ (5060) |
|5,102 | | ACK | |SIP
Request
| | |(5060) ------------------> (5060) |
|5,103 | 404 Not Found | |SIP
Status
| |(5060) <------------------ (5060) | |
|5,106 | ACK | | |SIP
Request
| |(5060) ------------------> (5060) | |
And the RAW capture of the INVITE message in timestamp 5,101.
No. Time Source Destination Protocol
Info
1235 5.100698 192.168.0.197 192.168.0.167 SIP/SDP
Request: INVITE sip:voicemail4440@192.168.0.197:5080, with session
description
Frame 1235 (1151 bytes on wire, 1151 bytes captured)
Ethernet II, Src: CadmusCo_96:31:84 (08:00:27:96:31:84), Dst:
Micro-St_6d:77:54 (00:21:85:6d:77:54)
Internet Protocol, Src: 192.168.0.197 (192.168.0.197), Dst: 192.168.0.167
(192.168.0.167)
User Datagram Protocol, Src Port: sip (5060), Dst Port: sip (5060)
Session Initiation Protocol
Request-Line: INVITE sip:voicemail4440@192.168.0.197:5080 SIP/2.0
Method: INVITE
Request-URI: sip:voicemail4440@192.168.0.197:5080
[Resent Packet: True]
[Suspected resend of frame: 1233]
Message Header
Record-Route: <sip:192.168.0.197;lr=on;nat=
yes>
Via: SIP/2.0/UDP 192.168.0.197;branch=z9hG4bKafce.403718a6.1
Via: SIP/2.0/UDP
192.168.57.20;received=192.168.3.20;rport=5060;branch=z9hG4bK0a00030f0000003151ed60b85ec2c3de000000c8
Content-Length: 386
Contact: <sip:4095@192.168.3.20:5060>
Call-ID: 8EAF9EC2-1DD2-11B2-B110-C84E476664B0(a)10.0.3.15
Content-Type: application/sdp
CSeq: 2 INVITE
From: "4095"<sip:4095@192.168.0.197>;tag=121754238352072516
Max-Forwards: 69
To: <sip:4440@192.168.0.197>
User-Agent: SJphone/1.60.299a/L (SJ Labs)
P-App-Name: voicemail
P-App-Param: mod=box;usr= voicemail4440;dom=sipproxy.a.com
;uid=voicemail4440;did=sipproxy.a.com;
Message Body
Here you can see the failure_route in my kamailio.cfg file:
# Sample failure route
failure_route[FAIL_ONE] {
#ifdef WITH_NAT
if (is_method("INVITE")
&& (isbflagset("6") || isflagset(5))) {
unforce_rtp_proxy();
}
#endif
if (t_is_canceled()) {
exit;
}
# uncomment the following lines if you want to block client
# redirect based on 3xx replies.
##if (t_check_status("3[0-9][0-9]")
) {
##t_reply("404","Not found");
## exit;
##}
# uncomment the following lines if you want to redirect the failed
# calls to a different new destination
if (t_check_status("486|408")) {
revert_uri();
prefix("voicemail");
remove_hf("P-App-Name");
append_hf("P-App-Name: voicemail\r\n");
append_hf("P-App-Param: mod=box;usr= $rU;dom=sipproxy.a.com
;uid=$rU;did=sipproxy.a.com;\r\n");
$ru = "sip:" + $rU + "@" + "192.168.0.197:5080";
#rewritehostport("192.168.0.197:5080");
#append_branch("sip:4888@192.168.0.102");
append_branch();
# do not set the missed call flag again
t_relay();
}
}
Has anybody experienced this problem? Any help would be wellcome
Best Regards
LAA