<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
I will look over it during next days.<br>
<br>
One more thing, are the packages sent by you printed by evapi
module, even not they are not processed (but discarded)?<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div class="moz-cite-prefix">On 25/09/15 13:55, Jayesh Nambiar
wrote:<br>
</div>
<blockquote
cite="mid:CANAYozs_K9SkGBge=J9af7MyDjP+gmukV6gfK6WxU+gWSWD0eQ@mail.gmail.com"
type="cite">
<div dir="ltr">Hi Daniel,
<div>I think this is not solved completely after you applied the
patch and my testing shows that there are some problems left
out to solve. Please do let me know if you are looking at more
inputs which I might be able to test and provide. Thanks,</div>
<div><br>
</div>
<div>- Jayesh</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Wed, Sep 23, 2015 at 8:24 PM Jayesh Nambiar
<<a moz-do-not-send="true"
href="mailto:jayesh1017@gmail.com">jayesh1017@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hello Daniel,
<div>Just checking if you got what you were looking for. Do
let me know if you need more info on the same.</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>- Jayesh</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Sep 22, 2015 at 8:23 PM Jayesh
Nambiar <<a moz-do-not-send="true"
href="mailto:jayesh1017@gmail.com" target="_blank">jayesh1017@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">Hi,
<div>Here's the NGREP trace where <span
style="line-height:1.5">{"event":"REGISTER","tindex":"</span>3639","tlabel":"1889788252"
... is present on the first line itself.</div>
<div><br>
</div>
<div>
<div><a moz-do-not-send="true"
href="http://198.24.63.45:48886" target="_blank">198.24.63.45:48886</a>
-> <a moz-do-not-send="true"
href="http://198.24.63.39:3927" target="_blank">198.24.63.39:3927</a>
[AP]</div>
<div>
146:{"event":"REGISTER","tindex":"3639","tlabel":"1889788252","PhoneNumber":"42008","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:11542-19872@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:11542-19872@198.24.63.39">11542-19872@198.24.63.39</a></a>"},147:{"event":"REGISTER","tindex":"12600","tlabel":"1916422130","PhoneNumber":"42009","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:11543-19872@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:11543-19872@198.24.63.39">11543-19872@198.24.63.39</a></a>"},147:{"event":"REGISTER","tindex":"51251","tlabel":"1549871937","PhoneNumber":"42010","DeviceId":"abcd1234abcd</div>
<div> 1234","CallId":"<a moz-do-not-send="true"
href="mailto:11544-19872@198.24.63.39"
target="_blank">11544-19872@198.24.63.39</a>"},147:{"event":"REGISTER","tindex":"60213","tlabel":"2100336684","PhoneNumber":"42011","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:11545-19872@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:11545-19872@198.24.63.39">11545-19872@198.24.63.39</a></a>"},146:{"event</div>
<div>
":"REGISTER","tindex":"33328","tlabel":"622251552","PhoneNumber":"42012","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:11546-19872@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:11546-19872@198.24.63.39">11546-19872@198.24.63.39</a></a>"},147:{"event":"REGISTER","tindex":"42289","tlabel":"1360864805","PhoneNumber":"42013","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:11547-19872@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:11547-19872@198.24.63.39">11547-19872@198.24.63.39</a></a>"},146:{"event":"REGISTER","tindex":"48204","tlabel":"315887672","PhoneNumber":"42014","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:11548-19872@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:11548-19872@198.24.63.39">11548-19872@198.24.63.39</a></a>"},145:{"event":"REGISTER","tindex":"36682","tlabel":"18660440","PhoneNumber":"42015","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:11549-19872@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:11549-19872@198.24.63.39">11549-19872@198.24.63.39</a></a>"},</div>
<div><br>
</div>
<div>And yes, this packet is right after the second
packet in the pastebin trace.</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>- Jayesh</div>
</div>
<div><br>
</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Tue, Sep 22, 2015 at 5:03 PM
Daniel-Constantin Mierla <<a moz-do-not-send="true"
href="mailto:miconda@gmail.com" target="_blank">miconda@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Hello,<br>
<br>
I haven't seen in the ngrep when the data containing
next line is received:<br>
<br>
{"event":"REGISTER","tindex":"3639","tlabel":"1889788252"
...<br>
<br>
Do you still have it? Is it after:<br>
<br>
{"event":"REGISTER","tindex":"12603","tlabel":"626010915",
...<br>
<br>
Cheers,<br>
Daniel</div>
<div bgcolor="#FFFFFF" text="#000000"><br>
<br>
<div>On 22/09/15 09:09, Jayesh Nambiar wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,
<div>Took time to get back with the test results
as I was trying to analyze too much myself
before getting back on the list. Also I was
stuck with weird error of module version
mismatch, but I figured and solved that issue.</div>
<div>So I do see the logs "frame size mismatch"
when I miss the events. Since the logs are too
huge, I am sending it in pastebin. Here it is:</div>
<div><a moz-do-not-send="true"
href="http://pastebin.com/MzTpYsrk"
target="_blank">http://pastebin.com/MzTpYsrk</a><br>
</div>
<div><br>
</div>
<div>In Kamailio Logs, I see:</div>
<div><span>DEBUG: evapi [evapi_dispatch.c:361]:
evapi_recv_client(): frame size mismatch the
ending char
(h):[{"event":"REGISTER","tindex":"12603","tlabel":"</span>626010915<span>","PhoneNumber":"42000","D146:"event":"REGISTER","tindex":"3639","tlabel":"</span>1889788252<span>","P]
(146)</span><br>
</div>
<div><br>
</div>
<div>Whereas the messages in ngrep looks good
where the messages are split in two TCP
packets. The first packet ends at D and the
second packet is the proper continuation which
send the rest. But it feels Kamailio skipped
the beginning of the message and started
parsing at colon again and it thinks the
netstring started with D146 which is
incorrect. Hence, it never emitted any event
for the messages in the first chunk.</div>
<div><br>
</div>
<div>Hoping this to be helpful !! Thanks.</div>
<div><br>
</div>
<div>- Jayesh</div>
<div>
<p><br>
</p>
</div>
<div>
<div class="gmail_quote">
<div dir="ltr">On Mon, Sep 21, 2015 at 4:37
PM Daniel-Constantin Mierla <<a
moz-do-not-send="true"
href="mailto:miconda@gmail.com"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a></a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0 .8ex;border-left:1px
#ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
Hello,<br>
<br>
I pushed another commit to add more
debug messages to see if the event route
is supposed to be executed or not. Can
you run the tests again and give again
the log messages for missing event route
executions?<br>
<br>
Cheers,<br>
Daniel</div>
<div bgcolor="#FFFFFF" text="#000000"><br>
<br>
<div>On 21/09/15 09:04, Jayesh Nambiar
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi Daniel,
<div>I have captured debug messages
after testing with your latest
commit on master. Once again,
here's what I'm doing exactly for
my test:</div>
<div>1) Use SIPp to send OPTIONS
towards Kamailio.</div>
<div>2) On getting options send
event as follows:</div>
<div>evapi_async_relay("{\"event\":\"REGISTER\",\"tindex\":\"$T(id_index)\",\"tlabel\":\"$T(id_label)\",\"PhoneNumber\":\"$avp(phone_number)\",\"DeviceId\":\"$avp(device_id)\",\"CallId\":\"$ci\"}");<br>
</div>
<div>3) There's a client connected
which listens for messages on this
socket, parses the netstring, and
sends same data back as netstring
to Kamailio.</div>
<div>4) On the
event_route[evapi:message-received,
I do the following:</div>
<div>
<div>xlog("L_INFO", "GOT
[$evapi(msg)] from
$evapi(srcaddr):$evapi(srcport)\n");</div>
<div>
if($evapi(msg)=~"REGISTER"
&&
$evapi(msg)=~"tindex") {</div>
<div> <span style="white-space:pre-wrap"> </span>jansson_get_field("$evapi(msg)",
"tlabel", "$var(tlabel)");</div>
<div> <span style="white-space:pre-wrap"> </span>jansson_get_field("$evapi(msg)",
"tindex", "$var(tindex)");</div>
<div> <span style="white-space:pre-wrap"> </span>$var(t_index)
= $(var(tindex){<a
moz-do-not-send="true"
href="http://s.int"
target="_blank">s.int</a>});</div>
<div> <span style="white-space:pre-wrap"> </span>$var(t_label)
= $(var(tlabel){<a
moz-do-not-send="true"
href="http://s.int"
target="_blank">s.int</a>});</div>
<div> <span style="white-space:pre-wrap"> </span>t_continue('$var(t_index)',
'$var(t_label)',
'REGISTER_RESPONSE');</div>
<div> <span style="white-space:pre-wrap"> </span>exit;</div>
<div> }</div>
</div>
<div>5) On route[REGISTER_RESPONSE],
I send 200 OK to SIPp</div>
<div><br>
</div>
<div>Now here are detailed logs for
which neither SIPp didnt get a
response nor the GOT [$evapi(msg)]
from
$evapi(srcaddr):$evapi(srcport)\n");
got logged in the syslog:</div>
<div><br>
</div>
<div>First Event:</div>
<div>
<div>DEBUG: evapi
[evapi_dispatch.c:598]:
evapi_relay(): relaying event
data
[{"event":"REGISTER","tindex":"26266","tlabel":"587925078","PhoneNumber":"21956","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:23021-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:23021-12910@198.24.63.39">23021-12910@198.24.63.39</a></a>"}]
(146)</div>
<div>DEBUG: evapi
[evapi_dispatch.c:623]:
evapi_relay(): sending
[0x7f132588de68]
[146:{"event":"REGISTER","tindex":"26266","tlabel":"587925078","PhoneNumber":"21956","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:23021-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:23021-12910@198.24.63.39">23021-12910@198.24.63.39</a></a>"},]
(151)</div>
<div><br>
</div>
<div>DEBUG: evapi
[evapi_dispatch.c:488]:
evapi_recv_notify(): received
[0x7f132588de68]
[146:{"event":"REGISTER","tindex":"26266","tlabel":"587925078","PhoneNumber":"21956","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:23021-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:23021-12910@198.24.63.39">23021-12910@198.24.63.39</a></a>"},]
(151)</div>
<div>NOTICE: evapi
[evapi_dispatch.c:290]:
evapi_recv_client(): {0} [<a
moz-do-not-send="true"
href="http://198.24.63.45:48881"
target="_blank">198.24.63.45:48881</a>]
- received
[146:{"event":"REGISTER","tindex":"26266","tlabel":"587925078","PhoneNumber":"21956","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:23021-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:23021-12910@198.24.63.39">23021-12910@198.24.63.39</a></a>"},]
(151) (18)</div>
</div>
<div><br>
</div>
<div>Second Event:</div>
<div>
<div>DEBUG: evapi
[evapi_dispatch.c:598]:
evapi_relay(): relaying event
data
[{"event":"REGISTER","tindex":"32244","tlabel":"1637923412","PhoneNumber":"25597","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:27182-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:27182-12910@198.24.63.39">27182-12910@198.24.63.39</a></a>"}]
(147)</div>
<div> DEBUG: evapi
[evapi_dispatch.c:623]:
evapi_relay(): sending
[0x7f1325884410]
[147:{"event":"REGISTER","tindex":"32244","tlabel":"1637923412","PhoneNumber":"25597","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:27182-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:27182-12910@198.24.63.39">27182-12910@198.24.63.39</a></a>"},]
(152)</div>
<div><br>
</div>
<div> DEBUG: evapi
[evapi_dispatch.c:488]:
evapi_recv_notify(): received
[0x7f1325884410]
[147:{"event":"REGISTER","tindex":"32244","tlabel":"1637923412","PhoneNumber":"25597","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:27182-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:27182-12910@198.24.63.39">27182-12910@198.24.63.39</a></a>"},]
(152)</div>
<div> NOTICE: evapi
[evapi_dispatch.c:290]:
evapi_recv_client(): {0} [<a
moz-do-not-send="true"
href="http://198.24.63.45:48881"
target="_blank">198.24.63.45:48881</a>]
- received
[147:{"event":"REGISTER","tindex":"32244","tlabel":"1637923412","PhoneNumber":"25597","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:27182-12910@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:27182-12910@198.24.63.39">27182-12910@198.24.63.39</a></a>"},]
(152) (85)</div>
<div><br>
</div>
<div>I had three such events which
got missed out of some 25000 odd
messages sent from SIPp. Other
major difference that I see in
the debug logs for problematic
events are that there is a
positive number in the second
parentheses
of evapi_recv_client() function.
For the events that were invoked
successfully the value of second
parentheses is 0 for
evapi_recv_client() function.
Hope the debugging helps.</div>
<div><br>
</div>
<div>Debug log for a successful
event:</div>
<div>
<div>DEBUG: evapi
[evapi_dispatch.c:598]:
evapi_relay(): relaying event
data
[{"event":"REGISTER","tindex":"22127","tlabel":"1896682192","PhoneNumber":"73168","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:49957-13056@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:49957-13056@198.24.63.39">49957-13056@198.24.63.39</a></a>"}]
(147)</div>
<div> DEBUG: evapi
[evapi_dispatch.c:623]:
evapi_relay(): sending
[0x7f132568e850]
[147:{"event":"REGISTER","tindex":"22127","tlabel":"1896682192","PhoneNumber":"73168","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:49957-13056@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:49957-13056@198.24.63.39">49957-13056@198.24.63.39</a></a>"},]
(152)</div>
<div><br>
</div>
<div> DEBUG: evapi
[evapi_dispatch.c:488]:
evapi_recv_notify(): received
[0x7f132568e850]
[147:{"event":"REGISTER","tindex":"22127","tlabel":"1896682192","PhoneNumber":"73168","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:49957-13056@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:49957-13056@198.24.63.39">49957-13056@198.24.63.39</a></a>"},]
(152)</div>
<div> NOTICE: evapi
[evapi_dispatch.c:290]:
evapi_recv_client(): {0} [<a
moz-do-not-send="true"
href="http://198.24.63.45:48881"
target="_blank">198.24.63.45:48881</a>]
- received
[147:{"event":"REGISTER","tindex":"22127","tlabel":"1896682192","PhoneNumber":"73168","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true"
href="mailto:49957-13056@198.24.63.39"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:49957-13056@198.24.63.39">49957-13056@198.24.63.39</a></a>"},]
(152) (0)</div>
</div>
<div><br>
</div>
<div>Thanks,</div>
</div>
<div><br>
</div>
<div>- Jayesh<br>
<div class="gmail_quote">
<div dir="ltr">On Sat, Sep 19,
2015 at 3:55 AM
Daniel-Constantin Mierla <<a
moz-do-not-send="true"
href="mailto:miconda@gmail.com"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a></a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px #ccc
solid;padding-left:1ex">
<div bgcolor="#FFFFFF"
text="#000000"> I pushed a
commit to add more debug
message while processing
received data. You can use
debugger module to set a
higher debug level for evapi
module in order to see what
happens.<br>
<br>
I checked the netstring
packet size and it is
invalid (unless email
stripped some white chars
there) -- for example in:</div>
<div bgcolor="#FFFFFF"
text="#000000"><br>
<br>
145:{"event":"REGISTER","tindex":"55567","tlabel":"627458699","PhoneNumber":"20711","DeviceId":"abcd1234abcd1234","CallId":<a
moz-do-not-send="true"
href="mailto:21225-3848@5.6.7.8"
target="_blank"><a class="moz-txt-link-rfc2396E" href="mailto:21225-3848@5.6.7.8">"21225-3848@5.6.7.8"</a></a>},<br>
<br>
</div>
<div bgcolor="#FFFFFF"
text="#000000"> the size is
141, not 145 -- it looks
like the size includes the
size itself plus the
delimiters ':,'. The size is
only the effective data,
see:<br>
<br>
<a moz-do-not-send="true"
href="https://en.wikipedia.org/wiki/Netstring"
target="_blank">https://en.wikipedia.org/wiki/Netstring</a><br>
<br>
If evapi gets a packet with
an invalid size, then it
discards the buffer content.<br>
<br>
See if the app on the other
side of evapi connection
builds netstrings with wrong
size.<br>
<br>
Cheers,<br>
Daniel</div>
<div bgcolor="#FFFFFF"
text="#000000"><br>
<br>
<div>On 18/09/15 23:19,
Jayesh Nambiar wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Here are
the tests that I did:
<div><br>
</div>
<div>With the patch
applied, I see that
Kamailio is invoking
event individually for
each netstring even
when they come in
different chunks. But
I did see instances
where when there were
complete netstrings in
a single chunk;
kamailio did not raise
an event for them.
Here's the
illustration:</div>
<div><br>
</div>
<div>
<div>T <a
moz-do-not-send="true"
href="http://1.2.3.4:48873" target="_blank">1.2.3.4:48873</a> -> <a
moz-do-not-send="true" href="http://5.6.7.8:3927" target="_blank">5.6.7.8:3927</a>
[AP]</div>
<div>146:{"event":"REGISTER","tindex":"16916","tlabel":"1753048277","PhoneNumber":"20708","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21220-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21220-3848@5.6.7.8">21220-3848@5.6.7.8</a></a>"},144:{"event":"REGISTER","tindex":"7954","tlabel":"254315075","PhoneNumber":"20709","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21223-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21223-3848@5.6.7.8">21223-3848@5.6.7.8</a></a>"},145:{"event":"REGISTER","tindex":"64529","tlabel":"599481568","PhoneNumber":"20709","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21222-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21222-3848@5.6.7.8">21222-3848@5.6.7.8</a></a>"},145:{"event":"REGISTER","tindex":"46605","tlabel":"112015324","PhoneNumber":"20710","DeviceId"
</div>
<div><br>
</div>
<div>T <a
moz-do-not-send="true"
href="http://1.2.3.4:48873" target="_blank">1.2.3.4:48873</a> -> <a
moz-do-not-send="true" href="http://5.6.7.8:3927" target="_blank">5.6.7.8:3927</a>
[AP]</div>
<div>
:"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21224-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21224-3848@5.6.7.8">21224-3848@5.6.7.8</a></a>"},</div>
</div>
<div><br>
</div>
<div><b>The above two
chunks contain 4
proper netstrings
where the second
chunk contains part
of the 4th
netstring. In this
case Evapi properly
raised 4 individual
events.</b></div>
<div><br>
</div>
<div>
<div><a
moz-do-not-send="true"
href="http://1.2.3.4:48873" target="_blank">1.2.3.4:48873</a> -> <a
moz-do-not-send="true" href="http://5.6.7.8:3927" target="_blank">5.6.7.8:3927</a>
[AP]</div>
<div>
145:{"event":"REGISTER","tindex":"55567","tlabel":"627458699","PhoneNumber":"20711","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21225-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21225-3848@5.6.7.8">21225-3848@5.6.7.8</a></a>"},143:{"event":"REGISTER","tindex":"28682","tlabel":"9676691","PhoneNumber":"20712","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21226-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21226-3848@5.6.7.8">21226-3848@5.6.7.8</a></a>"},</div>
</div>
<div><br>
</div>
<div><b>This above chunk
contains two
complete netstrings
but Kamailio never
raised events for
these two
netstrings.</b></div>
<div><b><br>
</b></div>
<div>For the events that
were not raised I see
proper Kamailio Logs
which is:</div>
<div>evapi_recv_client():
{0} [<a
moz-do-not-send="true"
href="http://1.2.3.4:48873" target="_blank">1.2.3.4:48873</a>] -
received
[145:{"event":"REGISTER","tindex":"55567","tlabel":"627458699","PhoneNumber":"20711","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21225-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21225-3848@5.6.7.8">21225-3848@5.6.7.8</a></a>"},143:{"event":"REGISTER","tindex":"28682","tlabel":"9676691","PhoneNumber":"20712","DeviceId":"abcd1234abcd1234","CallId":"<a
moz-do-not-send="true" href="mailto:21226-3848@5.6.7.8" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:21226-3848@5.6.7.8">21226-3848@5.6.7.8</a></a>"},]<br>
</div>
<div><b><br>
</b></div>
<div>But I don't see the
logs that I've written
in the script after
the event was raised,
which means Kamailio
did not invoke events
for these two
netstrings.</div>
<div><br>
</div>
<div>So in my tests, out
of 27232 messages
sent, there were
approximately 27
messages for which the
events were not raised
by Evapi. The rate of
messages started at
500cps and I stopped
after I saw missed
events at around
1200cps.</div>
<div><br>
</div>
<div>Thanks, and do let
me know for any
further tests or
information required
about the same.</div>
<div><br>
</div>
<div>- Jayesh</div>
<div><b><br>
</b></div>
<div><br>
</div>
</div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On
Fri, Sep 18, 2015 at
2:55 PM, Jayesh
Nambiar <span
dir="ltr"><<a
moz-do-not-send="true"
href="mailto:jayesh1017@gmail.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:jayesh1017@gmail.com">jayesh1017@gmail.com</a></a>></span>
wrote:<br>
<blockquote
class="gmail_quote"
style="margin:0 0 0
.8ex;border-left:1px
#ccc
solid;padding-left:1ex">
<div dir="ltr">Will
have this tested
by tomorrow and
will get back to
you. Thanks.<span><font
color="#888888">
<div><br>
</div>
<div>- Jayesh</div>
</font></span></div>
<div>
<div>
<div
class="gmail_extra"><br>
<div
class="gmail_quote">On
Fri, Sep 18,
2015 at 1:41
PM,
Daniel-Constantin
Mierla <span
dir="ltr"><<a
moz-do-not-send="true" href="mailto:miconda@gmail.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a></a>></span>
wrote:<br>
<blockquote
class="gmail_quote"
style="margin:0
0 0
.8ex;border-left:1px
#ccc
solid;padding-left:1ex">
<div
bgcolor="#FFFFFF"
text="#000000">
Hello,<br>
<br>
I just pushed
a patch to
master branch
that should
cope with
partial data
received on
tcp
connection. No
time to test
at all,
therefore any
feedback will
be
appreciated.<br>
<br>
Cheers,<br>
Daniel
<div>
<div><br>
<br>
<div>On
15/09/15
14:52,
Daniel-Constantin
Mierla wrote:<br>
</div>
<blockquote
type="cite">
Hello,<br>
<br>
I will look if
there are
options in
libev to
buffer data or
try to
implement a
buffering
mechanism
locally for
such cases.<br>
<br>
Cheers,<br>
Daniel<br>
<br>
<div>On
14/09/15
23:00, Jayesh
Nambiar wrote:<br>
</div>
<blockquote
type="cite">
<div dir="ltr">Hello
Daniel,
<div>After
further
testing with
evapi module,
I figured that
when
Netstrings are
used, an event
route is
invoked
individually
for each
message even
if if multiple
netstring
messages are
received in a
single TCP
packet. But
this doesn't
work
effectively
when a single
proper message
is split-up in
two packets.
For Example,
if a message
arrives as:</div>
<div>12:Hello
World!,
12:Hello
World!,
12:Hello
World! in a
single packet,
kamailio
properly
invokes the
event route
"evapi:message-received"
thrice for
every
individual
proper
netstring
message. </div>
<div>But if
the first
packet
contains:</div>
<div>12:Hello
World!,
12:Hello</div>
<div>And
Second Packet
contains:</div>
<div> World!,
12:Hello
World!</div>
<div>the event
route is
invoked only
once !!</div>
<div><br>
</div>
<div>The above
pattern is
very much
possible while
sending and
receiving
packets over
TCP Socket.
Our tests for
receiving an
approximately
150 byte
message over
evapi socket
at the rate of
roughly
1000cps causes
a lot of real
events to be
missed because
of the above
problem. You
can never be
sure when TCP
will split
messages in
different
chunks.</div>
<div>This
definitely
looks like a
bug which
makes it not
very reliable
at large scale
deployments.
Would really
appreciate
your inputs on
this. Thanks;</div>
<div><br>
</div>
<div>- Jayesh</div>
<div><br>
</div>
<div><br>
</div>
</div>
<div
class="gmail_extra"><br>
<div
class="gmail_quote">On
Thu, Sep 10,
2015 at 4:01
PM, Jayesh
Nambiar <span
dir="ltr"><<a
moz-do-not-send="true" href="mailto:jayesh1017@gmail.com"
target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:jayesh1017@gmail.com">jayesh1017@gmail.com</a></a>></span>
wrote:<br>
<blockquote
class="gmail_quote"
style="margin:0
0 0
.8ex;border-left:1px
#ccc
solid;padding-left:1ex">
<div dir="ltr">Hi
Daniel,
<div>Thanks
for the quick
response. So
if I do not
use
Netstrings,
does Kamailio
allow me to
create a
custom logic
in the script.
For eg. if I
decide to use
newline as a
delimiter, can
I keep
buffering the
message until
I encounter
the delimiter
from the event
route and then
execute
whatever I
have to within
the script??</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>- Jayesh</div>
</div>
<div>
<div>
<div
class="gmail_extra"><br>
<div
class="gmail_quote">On
Thu, Sep 10,
2015 at 1:29
PM,
Daniel-Constantin
Mierla <span
dir="ltr"><<a
moz-do-not-send="true" href="mailto:miconda@gmail.com" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:miconda@gmail.com">miconda@gmail.com</a></a>></span>
wrote:<br>
<blockquote
class="gmail_quote"
style="margin:0
0 0
.8ex;border-left:1px
#ccc
solid;padding-left:1ex">
<div
bgcolor="#FFFFFF"
text="#000000">
Hello,<br>
<br>
tcb is stream
protocol and
several
messages can
be queued on
the pipe at
the same time.
That is the
reason for
netstring
format, to be
able to easily
detect the
boundaries of
each message.
If netstring
format is
enabled and
kamailio
receives
several
messages at
once, it
splits them
and for each
is executing
the event
route.<br>
<br>
If netstring
format is not
used, the
kamailio is
executing the
event route
with the
entire content
that was read
at once from
the tcp
connection.<br>
<br>
Cheers,<br>
Daniel
<div>
<div><br>
<br>
<div>On
09/09/15
22:01, Jayesh
Nambiar wrote:<br>
</div>
</div>
</div>
<blockquote
type="cite">
<div>
<div>
<div dir="ltr">Hello,
<div>I'm
exploring the
evapi module
for my
kamailio to
interface with
an external
node.js app
for third
party stuff
like AAA,
billing engine
tasks,
notifications
and so on. I
followed and
took some
ideas from the
rtjson and
evapi tutorial
found here(<a
moz-do-not-send="true"
href="http://kb.asipto.com/kamailio:k43-async-sip-routing-nodejs"
target="_blank"><a class="moz-txt-link-freetext" href="http://kb.asipto.com/kamailio:k43-async-sip-routing-nodejs">http://kb.asipto.com/kamailio:k43-async-sip-routing-nodejs</a></a>)
to build the
node.js app
consuming
events.</div>
<div>When I
stress tested
the scenario
using SIPp and
tried sending
a lot of
events at
300-350cps
from Kamailio,
I noticed that
at times the
client is
receiving 2-3
events in a
single message
together
although I do
event_sync_relay
once per SIP
message
received and
have
netstrings
enabled. I
believe this
is a typical
behavior of
TCP and needs
to be handled
by the client
using some
kind of
Netstring
handler.
Please correct
me if I'm
wrong.</div>
<div>And hence
I'd like to
know what
particularly
needs to be
taken care of
while writing
a client that
is listening
for events on
raw tcp socket
and how does
kamailio
handle this
situation
while
receiving
messages over
TCP socket??
Does kamailio
recognize the
end of
netstring
properly on
evapi:message-received
and give
exactly one
message to
take care of
on every
"message-received"
event or
should that be
handled in the
script
somewhere !!</div>
<div>I also
referred
cgrates client
over evapi
example which
is written in
GO, but I
couldnt find
them handling
TCP streams
clearly
either.</div>
<div>I'd
really
appreciate
some expert
suggestion
here to make
an informed
decision on
using the
evapi module
for a large
scale
solution.</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>- Jayesh</div>
<div><br>
</div>
<div><br>
</div>
</div>
<br>
<fieldset></fieldset>
<br>
</div>
</div>
<pre>_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
<a moz-do-not-send="true" href="mailto:sr-users@lists.sip-router.org" target="_blank">sr-users@lists.sip-router.org</a>
<a moz-do-not-send="true" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a><span><font color="#888888">
</font></span></pre>
<span><font
color="#888888">
</font></span></blockquote>
<span><font
color="#888888">
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a moz-do-not-send="true" href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a></pre>
</font></span></div>
<br>
_______________________________________________<br>
SIP Express
Router (SER)
and Kamailio
(OpenSER) -
sr-users
mailing list<br>
<a
moz-do-not-send="true"
href="mailto:sr-users@lists.sip-router.org" target="_blank"><a class="moz-txt-link-abbreviated" href="mailto:sr-users@lists.sip-router.org">sr-users@lists.sip-router.org</a></a><br>
<a
moz-do-not-send="true"
href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users"
target="_blank"><a class="moz-txt-link-freetext" href="http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users">http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users</a></a><br>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a moz-do-not-send="true" href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a></pre>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a moz-do-not-send="true" href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a></pre>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a moz-do-not-send="true" href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a></pre>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a moz-do-not-send="true" href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a></pre>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
<br>
<pre cols="72">--
Daniel-Constantin Mierla
<a moz-do-not-send="true" href="http://twitter.com/#%21/miconda" target="_blank">http://twitter.com/#!/miconda</a> - <a moz-do-not-send="true" href="http://www.linkedin.com/in/miconda" target="_blank">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a moz-do-not-send="true" href="http://www.asipto.com" target="_blank">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a moz-do-not-send="true" href="http://asipto.com/u/kat" target="_blank">http://asipto.com/u/kat</a></pre>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
<br>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla
<a class="moz-txt-link-freetext" href="http://twitter.com/#!/miconda">http://twitter.com/#!/miconda</a> - <a class="moz-txt-link-freetext" href="http://www.linkedin.com/in/miconda">http://www.linkedin.com/in/miconda</a>
Book: SIP Routing With Kamailio - <a class="moz-txt-link-freetext" href="http://www.asipto.com">http://www.asipto.com</a>
Kamailio Advanced Training, Sep 28-30, 2015, in Berlin - <a class="moz-txt-link-freetext" href="http://asipto.com/u/kat">http://asipto.com/u/kat</a></pre>
</body>
</html>