Valued Colleagues,
Do the avp_write and avp_pushto involve Database access operations?!
For example:
avp_write("sip:22@10.1.10.60:5060", "s:callfwd");
avp_pushto("$ruri", "s:callfwd");
Does avp_write store the string "sip:22@10.1.10.43:5060" for "s:callfwd"
in database and avp_pushto looks up the string related to "s:callfwd"
from the database or is the information stored in memory?!
I want to avoid database access to ensure improved performance.
Thanks
ramin
Can someone point me to any resources on how to implement services like
callforwarding by pressing *21 through the users' UA?
Basically I need my users to be able to activate different services via the
phone's keys.
thank you
--
Kyriakos Mavromichalis
Otenet Telecom
Hi,
I am a beginner here. Could anyone please answer my question?
I have downloaded the SER 0.9.4 and compile with mysql module it on SUSE Linux Enterprise Server 9. Mysql 4.1.15 compiled from source.
I have problem whith running SER. Command
'serctl start'
finished with message
'Starting SER : PID file /var/run/ser.pid does not exist -- SER start failed'
Message in /var/logs/messages is
'Nov 16 05:34:34 suse1 ser: ERROR: load_module: could not open module </usr/local/lib/ser/modules/mysql.so>: libmysqlclient.so.14: cannot open shared object file: No such file or directory'
'libmysqlclient.so.14' is in '/usr/local/lib/mysql/'
Any idea ? Thank.
--
Murdej Ukrutny
The CPU will show in Linux high usage as soon as you get over 20 calls
but you will be able to load the box up to 200 streams, the CPU will
show the same high value while the proxy works fine.
Use the rtpgenerator to test after what amount of calls your box will
start loosing packets we reckon 70 streams per 1 GHz.
Regards,
Adrian
<<<<<<
Hi All,
I tested the load of the mediaproxy (ver 1.4.2) and found that it is
quite high.
To give an idea, on a P4 2.4GHz machine, 20 sessions give a reading of
about 35%, and it will go to almost 90% for 50 sessions.
If we have a system that say can accommodate 10000 users (behind nat) or
concurrent calls, that probably means we need about 10000/50=200
machines. That is way too many boxes.
Does anybody has a solution for this?
Thanks for any help available.
Regards,
TC Chan
Hi,
I've been spending days on tcpdumping callsetups with ser OR asterisk as
registar. This is my conclusion, can somebody confirm this?
On asterisk:
-asterisk maintains 2 independendly sipsessions between 2 clients, where
asterisks stays the contact in the sipheaders.
After picking up the call, asterisk sends an re-invite in the sip-body
(address), and remains the contact for sipmessages.
If someone hangs up, asterisk sends an re-invite to the other party, for
redirecting stream back to asterisk, and then sending the bye to the other
client (the one who didn't hang up).
on ser:
ser receives the invite, looking up the address of the callee, and sending
the invite through to the callee, the contact header allways stays the
caller's uri, but ser put's a record-route in the sipmessage, so that the
bye first is send to the ser machine, and then to the other party.
Am I seeing things correct here?
What are the pro/contra's of both procedures?
Imo gives the asterisk way a lot more overhead, but is more secure (2
clients keep communicating with asterisk, and are unable to fake things
(or less easely), there were an not compliant client can bypass the
record-route of ser, and so avoiding accounting.
Again, am I correct here?
thx
Arne
Hi all,
I'm using SER 0.9.3 and trying to do LDAP query but I keep getting this
message:
0(17313) INFO: dont_fork turned on, living on
0(17313) exec_str: rtrim
0(17313) ERROR: exec_str: cmd /etc/ser/sipldap failed. exit_status=-1,
errno=10: No child processes
can someone explain to me why is that and how can I fix it?
when I'm doing lookup with:
(!lookup("location"))
{ if (!exec_dset("/etc/ser/sipldap")) {
sl_send_reply("404", "Not Found");
break;
} else {
log(1," sipldap call");
};
};
I'm getting "Not Found",
but when I'm doing (transferring to PSTN route without sl_send_reply)
(!lookup("location"))
{ if (!exec_dset("/etc/ser/sipldap")) {
#sl_send_reply("404", "Not Found");
route(5);
break;
} else {
log(1," sipldap call");
};
};
route[5] {
rewritehostport(xxxxxxxxxxx);
I can extract LDAP telephone number and do get call transferred to PSTN
GW but still getting "ERROR: exec_str:"
thanx
davor
Hey guys,
I'm using Radius to do pretty much everything regarding my users, i.e.
registrations, authorization, features and preferences. I implemented my own
way of doing speeddial by using AVPs provided by radius and AVPOPs module,
Here is the snippet:
AVP-SIP = speedial:30:15615551212
avp_subst("s:caller_speedial/i:99", "/(.*):(.*)/\2/");
#15615551212
avp_printf("i:98","$rU:*"); #30
avp_printf("i:97","sip:$avp($temp2)@$td"); #
sip:15615551212@xx.xx.xx.xx
avp_printf("i:96","<sip:$avp($temp2)@$td>\r\n"); #
<sip:15615551212@xx.xx.xx.xx>.
xlog("L_N"," SPEEDIALING: $fU is speed-dialing
$hdr(To)->$avp($temp2)\n");
if (avp_check("s:caller_speedial", "fm/$temp1/g")) {
#avp_pushto("$To","i:96");
#avp_pushto("$ruri","i:97");
#avp_pushto("$duri","i:97");
#subst('/^To: (.*)(a)(.*)/To: "$avp($temp2)"
<$avp($temp2)@\2/');
#append_hf("To: \"5615551212\"
<15615551212(a)xx.xx.xx.xx>;user=phone");
#subst_uri('/^sip:(.*)@(.*)$/sip:$avp($temp2)@\2/i');
#subst_user('/(.*)/$avp($temp2)/');
#remove_hf("To");
rewriteuser("15615551212");
xlog("L_N"," SPEEDIALING: $fU is dialing $hdr(To)
$avp($temp2)\n");
avp_delete("$temp1/g");
avp_delete("$temp2/g");
};
In this scenario, im forcing it instead of getting the value from AVPs just
for ease of showing my point. The problem that I'm having is that no matter
what I do to change the To header or change the R-URI, radius ALWAYS sends
the accounting records with the original R-URI, in my case 30(a)xx.xx.xx.xx,
how can I get acc.so to send the final resulting URI
(15615551212(a)xx.xx.xx.xx) in the Called-Station-Id AVP?
rad_recv: Accounting-Request packet from host xx.xx.xx.xx:39216, id=97,
length=298
Acct-Status-Type = Start
Service-Type = Sip-Session
Acct-Terminate-Cause = 200
Error-Cause = Invite
User-Name = "1000(a)xx.xx.xx.xx"
Calling-Station-Id = "sip:1000@xx.xx.xx.xx"
Called-Station-Id = "sip:30@xx.xx.xx.xx;user=phone"
Sip-Translated-Request-URI =
"sip:949449852150#15615551212@gateway;user=phone"
Acct-Session-Id = "000d2890-d47f01e8-1dcc30bc-7a49c7a4(a)yy.yy.yy.yy"
Sip-To-Tag = "230383F4-2AF"
Sip-From-Tag = "000d2890d47f20f54576a906-290bdc33"
Sip-CSeq = "102"
NAS-IP-Address = xx.xx.xx.xx
NAS-Port = 5060
Acct-Delay-Time = 0
rlm_sql (sql): Reserving sql socket id: 12
rlm_sql (sql): Released sql socket id: 12
Sending Accounting-Response of id 97 to xx.xx.xx.xx:39216
rad_recv: Accounting-Request packet from host xx.xx.xx.xx:39216, id=98,
length=292
Acct-Status-Type = Stop
Service-Type = Sip-Session
Acct-Terminate-Cause = 200
Error-Cause = 8
User-Name = "1000(a)xx.xx.xx.xx"
Calling-Station-Id = "sip:1000@xx.xx.xx.xx"
Called-Station-Id = "sip:30@xx.xx.xx.xx;user=phone"
Sip-Translated-Request-URI =
"sip:949449852150#15615551212@gateway:5060"
Acct-Session-Id = "000d2890-d47f01e8-1dcc30bc-7a49c7a4(a)yy.yy.yy.yy"
Sip-To-Tag = "230383F4-2AF"
Sip-From-Tag = "000d2890d47f20f54576a906-290bdc33"
Sip-CSeq = "103"
NAS-IP-Address = xx.xx.xx.xx
NAS-Port = 5060
Acct-Delay-Time = 0
Thanks in advance!
Lenir
Hi all
I install rtpproxy in the same host (with the public IP) than
openser. the installation of rtpproxy put rtpproxy.sock in /var/run
directory.But when i make a call between 2 clients (each client in a
different LAN), i have no voice after signalisation. And openser give
me these errors:
[root@Is-dev01 openser-1.0.0-tls]# /usr/local/sbin/openser
Listening on
udp: 62.128.173.101 [62.128.173.101]:5060
tcp: 62.128.173.101 [62.128.173.101]:5060
Aliases:
tcp: 62-128-173-101.iwayafrica.com:5060
udp: 62-128-173-101.iwayafrica.com:5060
WARNING: no fork mode
stateless - initializing
0(0) Maxfwd module- initializing
textops - initializing
0(0) INFO: udp_init: SO_RCVBUF is initially 110592
0(0) INFO: udp_init: SO_RCVBUF is finally 221184
2(0) INFO: fifo process starting: 20621
2(0) SER: open_uac_fifo: fifo server up at /tmp/ser_fifo...
2(0) INFO: no fifo_db_url given - fifo DB commands disabled!
0(20619) ERROR: force_rtp_proxy2: no available proxies
0(20619) ERROR: force_rtp_proxy2: no available proxies
0(20619) ERROR: unforce_rtp_proxy: no available proxies
What's the matter?
Best regards
Serge
Hi All,
I tested the load of the mediaproxy (ver 1.4.2) and found that it is
quite high.
To give an idea, on a P4 2.4GHz machine, 20 sessions give a reading of
about 35%, and it will go to almost 90% for 50 sessions.
If we have a system that say can accommodate 10000 users (behind nat) or
concurrent calls, that probably means we need about 10000/50=200
machines. That is way too many boxes.
Does anybody has a solution for this?
Thanks for any help available.
Regards,
TC Chan