Hi
I am using a siremis and *kamailio * hosted server with lylix.net and they
give a link for getting a support about Siremis.
I need a support to how to make OUT call on PSTN with registered subscriber
on Softphone. Currently we have registered user on subscriber table with
their location and can make a PEER to PEER audio call and text messaging
also.
To make OUT call on PSTN we had create a LCR gateway and LCR rule with
Prefix but still can not make a OUT call getting a error 404 can u please
help me out to make a PSTN call
Waiting for your reply
Thanks
Gaurav Rai
+919716238804
Hi,
Is it possible to make the rtp stream appear unidirectional?
By that i mean,
The rtp stream from client to proxy will go through one rtpproxy and proxy
to client stream will go through another rtpproxy instance?
If not, is it possible to mimic something like that by running rtpproxy in
bridge mode where both IPs in bridge mode will be public IP?
Thanks in advance
cheers
arif
Daniel. I added 8 algorithm to our server and it works with 2 asterisk now
but it works strange because:
While works server with priority 1 - all ok. When this server goes down
dispatcher choose next server with lowes priority. But when server with
highest priority waking up dispatcher use server with lowes priority until
this server not goes down.
here id my config for dispatcher
modparam("dispatcher", "db_url",DBURL)
modparam("dispatcher", "table_name", "dispatcher")
modparam("dispatcher", "setid_col", "setid")
modparam("dispatcher", "priority_col", "priority")
modparam("dispatcher", "destination_col", "destination")
modparam("dispatcher", "force_dst", 1)
modparam("dispatcher", "flags", 3)
modparam("dispatcher", "dst_avp", "$avp(i:271)")
modparam("dispatcher", "grp_avp", "$avp(i:272)")
modparam("dispatcher", "cnt_avp", "$avp(i:273)")
modparam("dispatcher", "ds_ping_from", "sip:kamailio1@10.0.1.12")
modparam("dispatcher", "ds_ping_interval",15)
modparam("dispatcher", "ds_probing_mode", 1)
modparam("dispatcher", "ds_ping_reply_codes",
"class=2;code=403;code=404;code=484;class=3")
modparam("tm", "reparse_on_dns_failover", 0)
(!ds_select_dst("$var(setid)", "8")){
sl_send_reply("500", "Service Unavailable");
xlog("L_INFO","{$rm} from [$fU@$si:$sp] But NO destinations
available for $rd \n");
t_on_failure("DISPATCHER_ROLLOVER");
}
if (!t_relay()) {
sl_reply_error();
we use 4.3 master branch kamailio
Not a really important question, just an observation that caused some
headscratching on my first day after a nice vacation.
I'm using an avp to make a redirect decision. Normally this avp contains Dutch
telephone numbers (+31[0-9]{7,10}). With a simple:
if($avp(dst_redirectnumber))
{
#change $ru
}
this works flawless (normally).
But a client decided, to forward to a Swiss number (+4141743xxxx) but with
this number the if condition results in a false. A German number just works
fine (+49)
The avp is stuffed in an avp_db_query loop with $avp($avp(i:1))=$avp(i:2) as
key/value pair from the table.
I changed above condition to check if the string length of dst_redirectnumber
is larger than 0. But I'm at a loss why the false occurs, first guess was an
octal conversion (number only contains the digits 0-7) which results in a
number "just" above 2^32. But changing a digit to 8 still fails.
--
POCOS B.V. - Croy 9c - 5653 LC Eindhoven
Telefoon: 040 293 8661 - Fax: 040 293 8658
http://www.pocos.nl/ - http://www.sipo.nl/
K.v.K. Eindhoven 17097024
I as wrote before - we find dispatcher algorithm than can do mechanism
something like this:
Try call to fist server with max priority or weight. OIf this server
unavailible then call second server with less weight and etc.
Does anyone know what ling of algorithm we can use for this?
Hello. We use 2 kamailio servers cluster and we have porblems with db.
Database failed pecause of error:
Could not execute Write_rows_v1 event on table production.location;
Duplicate entry 'uloc-54aae947-86d-a67' for key 'ruid_idx', Error_code:
1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log FIRST,
end_log_pos 380, Internal MariaDB error code: 1062
But a location table no row 'ruid_idx' and no entry uloc-54aae947-86d-a67.
Hi,
I saw Matt Jordan's recent Kamailio world talk and was interested in the
idea he proposed of stripling out authentication and registration from
asterisk and solely letting Kamailio handle it.
In order to do this would I be correct in assuming I would have to use the
asterisk database rather than the Kamailio database?
I've compared the two and the table structures are very different.
If I use the asterisk database I guess asterisk still needs to be
responsible for handling authentication, registration and writing the
contacts to the database. If I use the Kamailio database how would I dial
an extension from asterisk, because as far as I can fell asterisk will have
no idea who is registered or how to find them (contact details).
Maybe I'm over thinking something simple, or maybe I'm not. Either way I
would love your thoughts on how this could be done.
Kind regards,
C
Hi
I am having strange behavior on local port assignment when
proxying out locally generated request. Kamailio is 4.2.1 from git.
I use MI pua_subscribe to create subscription to be handled by
external presence server.
In event_route[tm:local-request] I set $du to point back to proxy itself.
When request hits initial request_route, I add some headers, change
request URI and prepare failure_route for later uac_auth() processing.
So far so good and TLS packets are flying to correct destination.
Here is the trouble:
when I observe outgoing TLS traffic with tcpdump, I can see that local
source port is not following what I set with force_send_socket(). I tried to
place force_send_socket() in request_route, branch_route, and
tm:local-request, but it is always some random high port (>30000), never
the intended one. I am trying to set it to same as my TLS listening socket.
Is my usage somehow incorrect?
What should I try next to make Kamailio use constant source port?
Relevant config snippet below (IP address and domain part is obscured).
---
mhomed=1
listen=udp:A.B.C.D:5041
listen=tls:A.B.C.D:5041
request_route {
route(REQINIT);
if ( blahblah... ) {
$ru = "sip:" + $rU + "@domain.part.invalid;transport=tls";
$avp(uac_auth) = 0;
route(PR_HDRS);
route(PR_TRIGGERS);
force_send_socket(A.B.C.D:5041);
t_newtran();
route(RELAY);
}
}
route[PR_HDRS] {
remove_hf("User-Agent");
insert_hf("User-Agent: pua_subscribe\r\n","Call-ID");
}
route[PR_TRIGGERS] {
t_on_branch("PR_BRANCH");
t_on_failure("PR_FAILURE");
}
branch_route[PR_BRANCH] {
force_send_socket(A.B.C.D:5041);
}
failure_route[PR_FAILURE] {
if ( $avp(uac_auth) == 0 && ($T_reply_code == 401 or $T_reply_code == 407) ) {
uac_auth();
$avp(uac_auth) = 1;
route(PR_TRIGGERS);
route(RELAY);
}
}
event_route [tm:local-request] {
force_send_socket(A.B.C.D:5041);
$du = "sip:A.B.C.D:5041";
}
route[RELAY] { is from default config }
---
I found these recent commits, bugs and threads somehow relating
to force_send_socket and tm:local-request:
http://sip-router.org/tracker/index.php?do=details&task_id=462http://lists.sip-router.org/pipermail/sr-users/2014-August/084459.html
dbd8ea9b1fa216e59d4c36e2eb4b671202824259
http://lists.sip-router.org/pipermail/sr-dev/2014-September/024984.html
e404d123610b63ddd1c75d39667b373c40071eab
http://lists.sip-router.org/pipermail/sr-dev/2014-September/024977.html
--
Mikko Lehto
Hi!
We recently upgraded our Kamailio 4.1 to 4.2.1. With the newer version Kamailio crashes after just running a few minutes. After some debugging it looks as though the problem is in exec_msg (which is used in our config). After disabling this 4.2.1 seem to run just fine.
Core file exists, here's the output:
(gdb) backtrace
#0 0x00000000005ebf0f in fm_extract_free (frag=0x7f053ea08d18, qm=0x7f053e88e010) at mem/f_malloc.c:206
#1 fm_malloc (qm=0x7f053e88e010, size=<optimized out>, file=file@entry=0x7f053cbedfd4 "exec: exec_hf.c", func=func@entry=0x7f053cbef378 "replace_env", line=line@entry=375) at mem/f_malloc.c:490
#2 0x00007f053cbe7953 in replace_env (list=0x7f053ea08868) at exec_hf.c:375
#3 0x00007f053cbe862e in set_env (msg=0x7f053e91d690) at exec_hf.c:547
#4 0x00007f053cbeb835 in w_exec_msg (msg=0x7f053e87c480, cmd=0x7f053ea5e168 "X֤>\005\177", foo=<optimized out>) at exec_mod.c:164
#5 0x00000000004274f7 in do_action (h=h@entry=0x7fff02e9cf90, a=a@entry=0x7f053ea5cfb8, msg=msg@entry=0x7f053e87c480) at action.c:1094
#6 0x00000000004261a9 in run_actions (h=h@entry=0x7fff02e9cf90, a=a@entry=0x7f053ea5cfb8, msg=msg@entry=0x7f053e87c480) at action.c:1583
#7 0x0000000000432980 in run_top_route (a=0x7f053ea5cfb8, msg=msg@entry=0x7f053e87c480, c=c@entry=0x0) at action.c:1669
#8 0x00007f053e610d2a in run_failure_handlers (t=t@entry=0x7f0534ecc770, rpl=0x7f053ea71040, code=486, extra_flags=extra_flags@entry=64) at t_reply.c:1051
#9 0x00007f053e612aa3 in t_should_relay_response (Trans=Trans@entry=0x7f0534ecc770, new_code=new_code@entry=486, branch=branch@entry=0, should_store=should_store@entry=0x7fff02e9d2a0, should_relay=should_relay@entry=0x7fff02e9d290,
cancel_data=cancel_data@entry=0x7fff02e9d490, reply=reply@entry=0x7f053ea71040) at t_reply.c:1406
#10 0x00007f053e616126 in relay_reply (t=t@entry=0x7f0534ecc770, p_msg=p_msg@entry=0x7f053ea71040, branch=0, msg_status=msg_status@entry=486, cancel_data=cancel_data@entry=0x7fff02e9d490, do_put_on_wait=do_put_on_wait@entry=1)
at t_reply.c:1809
#11 0x00007f053e61a9f3 in reply_received (p_msg=0x7f053ea71040) at t_reply.c:2493
#12 0x00000000004920a6 in do_forward_reply (msg=msg@entry=0x7f053ea71040, mode=mode@entry=0) at forward.c:783
#13 0x0000000000493637 in forward_reply (msg=msg@entry=0x7f053ea71040) at forward.c:885
#14 0x00000000004f5634 in receive_msg (buf=<optimized out>, len=<optimized out>, rcv_info=<optimized out>) at receive.c:275
#15 0x00000000005d929d in udp_rcv_loop () at udp_server.c:521
#16 0x00000000004a73f1 in main_loop () at main.c:1629
#17 0x0000000000425085 in main (argc=<optimized out>, argv=<optimized out>) at main.c:2561
Kind regards,/Tobias
Hi
I am getting incorrect source port to Homer web while tracking
outgoing request from my proxy to remote SIP server.
Juha Heinanen <jh(a)tutpro.com> wrote in another thread:
> in case of tcp (and tls) the source port is always a random one.
> only the destination port can be predetermined.
Interface capture (tcpdump) shows exactly what Juha wrote
i.e. random source port for TLS connection.
I always get local TLS listener address as Homer source_port,
clearly not true when comparing to output of tcpdump.
I am calling sip_trace() from branch_route and onsend_route.
Is it even possbile to use siptrace with TLS so that
it records correct TCP (random) source port to Homer?
I tried briefly printing some structure variables in
siptrace/siptrace.c but it seems that real source port
is not available in struct dest_info at that context.
--
Mikko