hi
somebody can explain me how to use sipsack command?
i need to find how to do a ping in SIP to know the latency between SER and
the user's phone
there is something linked to sipsack (or serctl)?
thanks
M.
when I call voicemail group user, I get error :
[root@sip800 sbin]# ./sems -E
Configuration:
configuration file: /usr/local/etc/sems/sems.conf
Ser's FIFO: /tmp/vm_ser_fifo
our FIFO: /tmp/am_fifo
plug-in path: /usr/local/lib/sems/plug-in/
daemon mode: 0
local IP: 192.168.0.3
(4939) WARNING: reloadModuleConfig (SemsConfiguration.cpp:66): no
configuration
found for module isdngw, maybe you want to specify config.isdngw in config
file.
(4939) ERROR: send (AmRtpPacket.cpp:119): while sending RTP packet: Invalid
argu
ment
(4939) ERROR: send (AmRtpStream.cpp:179): while sending RTP packet.(4939)
ERROR:
send (AmRtpPacket.cpp:119): while sending RTP packet: Invalid argument
(4939) ERROR: send (AmRtpStream.cpp:179): while sending RTP packet.
who have same error , pls help me , thank you.
B.R.
Zhao Zigang
_________________________________________________________________
享用世界上最大的电子邮件系统― MSN Hotmail。 http://www.hotmail.com
You have to install SER with Radius support like any other Radius Server.
There is no particular configuration to work with Radiator.
There is a RADIUS_HOWTO guide in iptel site... that may help you.
Regards
Ricardo Martinez.-
> -----Mensaje original-----
> De: Edgardo O. Gonzales II [mailto:edgardo.g@pacific.net.ph]
> Enviado el: Miércoles, 11 de Mayo de 2005 4:01
> Para: serusers(a)lists.iptel.org
> Asunto: [Serusers] Radiator + SER
>
>
>
> Hi!
>
> Can somebody help us on how to install SER supporting radiator.
> If possible provide us a scratch for us to easily understand the
> process.
>
> Your immediate feedback is highly appreciated.
>
> thanks,
> ed
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
>
Hi List,
Is there anyone using "Advanced VoIP Billing Software", i have a few questions regarding to it :
Both Billing Software and SER installed on same machine and LAN IP is 192.168.1.11 (test system)
Linux Dist : Mandrake 10.0 (OS)
Apache : Installed (base web server)
Java : Installed (important for tomcat)
Tomcat : Installed (important for web interface)
Perl & PHP : Installed (and a few perl modules for various applications)
MySql : Installed (advanced voip needs it and creates to database like "raddb" and "voipbilling")
PostgreSql : Installed (no need for it at this time)
Radiusclient-ng : Installed (it's needed for SER itself)
I followed steps on http://www.iptel.org/ser/doc/ser_radius/ser_radius.html except freeradius server as normal.
I've installed SER from RPM's for Mandrake:
ser-0.9.0-1mdk.i586.rpm
ser-jabber-0.9.0-1mdk.i586.rpm
ser-mysql-0.9.0-1mdk.i586.rpm
ser-radius-0.9.0-1mdk.i586.rpm
<<<<< SER.CFG >>>>>
[root@localhost ser]# cat ser.cfg
#
# $Id: ser.cfg,v 1.27 2005/03/10 14:16:25 andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
#debug=3 # debug level (cmd line: -dddddddddd)
#fork=yes
#log_stderror=no # (cmd line: -E)
#memlog=5 # memory debug log level
#log_facility=LOG_LOCAL0 # sets the facility used for logging (see syslog(3))
/* Uncomment these lines to enter debugging mode
fork=no
log_stderror=yes
*/
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
#port=5060
#children=4
fifo="/tmp/ser_fifo"
#user=ser
#group=ser
#fifo_user=ser # owner of the ser fifo
#fifo_group=ser
#fifo_mode=0660 # fifo's permissions
#disable_core=yes #disables core dumping
#open_fd_limit=1024 # sets the open file descriptors limit
#mhomed=yes # usefull for multihomed hosts, small performance penalty
#disable_tcp=yes
#tcp_accept_aliases=yes # accepts the tcp alias via option (see NEWS)
# ------------------ module loading ----------------------------------
loadmodule "/usr/lib/ser/modules/sl.so"
loadmodule "/usr/lib/ser/modules/tm.so"
loadmodule "/usr/lib/ser/modules/rr.so"
loadmodule "/usr/lib/ser/modules/maxfwd.so"
loadmodule "/usr/lib/ser/modules/usrloc.so"
loadmodule "/usr/lib/ser/modules/registrar.so"
loadmodule "/usr/lib/ser/modules/textops.so"
loadmodule "/usr/lib/ser/modules/auth.so"
loadmodule "/usr/lib/ser/modules/acc.so"
loadmodule "/usr/lib/ser/modules/auth_radius.so"
loadmodule "/usr/lib/ser/modules/xlog.so"
# ----------------- setting module-specific parameters ---------------
modparam("auth_radius", "radius_config", "/usr/local/etc/radiusclient-ng/radiusclient.conf")
modparam("auth_radius", "service_type", 15)
modparam("rr", "enable_full_lr", 1)
# ------------------------- request routing logic -------------------
# main routing logic
route{
# initial sanity checks -- messages with
# max_forwards==0, or excessively long requests
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483","Too Many Hops");
break;
};
if (msg:len >= max_len ) {
sl_send_reply("513", "Message too big");
break;
};
# we record-route all messages -- to make sure that
# subsequent messages will go through our proxy; that's
# particularly good if upstream and downstream entities
# use different transport protocol
if (!method=="REGISTER") record_route();
# subsequent messages withing a dialog should take the
# path determined by record-routing
if (loose_route()) {
# mark routing logic in request
append_hf("P-hint: rr-enforced\r\n");
route(1);
break;
};
if (!uri==myself) {
# mark routing logic in request
append_hf("P-hint: outbound\r\n");
route(1);
break;
};
# if the request is for other domain use UsrLoc
# (in case, it does not work, use the following command
# with proper names and addresses in it)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("","0");
break;
};
save("location");
break;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
append_hf("P-hint: usrloc applied\r\n");
route(1);
}
route[1]
{
# send it out now; use stateful forwarding as it works reliably
# even for UDP2TCP
if (!t_relay()) {
sl_reply_error();
};
}
<<<<< SER --- When I run it >>>>>
[root@localhost root]# ser -c
0(2178) WARNING: fix_socket_list: could not rev. resolve 192.168.1.11
0(2178) WARNING: fix_socket_list: could not rev. resolve 192.168.1.11
Listening on
udp: 127.0.0.1 [127.0.0.1]:5060
udp: 192.168.1.11 [192.168.1.11]:5060
tcp: 127.0.0.1 [127.0.0.1]:5060
tcp: 192.168.1.11 [192.168.1.11]:5060
Aliases:
tcp: localhost:5060
udp: localhost:5060
config file ok, exiting...
[root@localhost root]
<<<<< RADIUS --- When I run it >>>>>
[root@localhost advradius]# ./runserver.sh
Wed, 11 May 2005 13:05:58 095: FINE:
<GlobalConf>
AuthenticationPort = 1812
AccountingPort = 1813
BindAddress = null
DictionaryFile = /billing/advradius/conf/dictionary
LogDirectory = /billing/advradius/log
LogLevel = FINE
ConsoleWrite = true
FileWrite = true
ConsiderSrcIPAsNASIP = false
</GlobalConf>
Wed, 11 May 2005 13:05:58 739: FINE:
<ThreadPoolManager>
NumThreads = 10
MaximumWorkTime = 5000
KeepAliveTime = -1
ExpiryThreadSleepInterval = 5000
</ThreadPoolManager>
Wed, 11 May 2005 13:05:58 882: FINE:
<Client DEFAULT>
NASIdentifier = default
Secret = mysecret
Realm = db
</Client>
Wed, 11 May 2005 13:05:58 917: FINE:
<Realm db>
18AuthBy = [db]
AcctPolicy = BACK-UP
Accounting = [db, file_acct]
Session = db
</Realm>
Wed, 11 May 2005 13:05:59 708: FINE:
<DBParams DEFAULT>
DriverName = org.gjt.mm.mysql.Driver
DBURL = jdbc:mysql://127.0.0.1:3306/voipbilling
UserName = root
UserPassword =
</DBParams>
Wed, 11 May 2005 13:05:59 967: FINE:
<AuthBy db>
CheckList = [(5, (260, 0)) , (6, (0, 0)) ]
ReplyList = [(1, (101, 9)) , (2, (102, 9)) , (3, (103, 9)) , (4, (6, 0)) , (7, (0, 0)) ]
BackStore = DB
PwdEncType = 0
SimultaneousLogin = 0
BackStore = DB
DBParams = null
AuthQuery = Select CallAmnt, CallTime, ReturnCode, AuthServiceType, Password, OtherCheckItems, OtherReplyItems from TblActiveSessions where AuthConfID = $cisco-h323-conf-id and AuthType = @GetRequestNumber@
AttribMapping = ColMapped
</AuthBy>
Wed, 11 May 2005 13:05:59 990: FINE:
<Session db>
BackStore = DB
InsertSession = Insert INTO TblActiveSessions ( UserName, TimeStart, AuthType, CalledNumber, AuthCallingNumber, AuthNASIPAddress, AuthNASPort, AuthNASPortType, AuthConfID, CallOrigin, CallType, AcctSessionID ) values ($User-Name, $Event-Time, 3, $Called-Station-Id, $Calling-Station-Id, $NAS-IP-Address, $NAS-Port, $NAS-Port-Type, $cisco-h323-conf-id, $cisco-h323-call-origin, $cisco-h323-call-type, $Acct-Session-Id)
DeleteSession = Delete from TblActiveSessions where AuthConfID = $cisco-h323-conf-id
CountSession = Select count(*) from TblActiveSessions where LoginName = $User-Name and AuthConfId=$cisco-h323-conf-id
BackStore = DB
</Session>
Wed, 11 May 2005 13:06:00 039: FINE:
<Accounting db>
BackStore = DB
InsertAcct = Insert INTO TblCallsRad ( TimeClose, UserName, ActualDuration, CallingNumber, CalledNumber, ConfID, CallOrigin, CallType, AcctSessionID, NASIPAddress, BytesIn, BytesOut, DelayTime, AcctStatusType, RemoteAddress, RemoteGatewayID, TerminationCause, ) values ( $Event-Time, $User-Name, $Acct-Session-Time:NUMBER, $Calling-Station-Id, $Called-Station-Id, $cisco-h323-conf-id, $cisco-h323-call-origin, $cisco-h323-call-type, $Acct-Session-Id, $NAS-IP-Address, $Acct-Input-Octets:NUMBER, $Acct-Output-Octets:NUMBER, $Acct-Delay-Time:NUMBER, $Acct-Status-Type, $cisco-h323-remote-address, $cisco-h323-gw-id, $cisco-h323-disconnect-cause, )
QueueLength = 5000
RecordAcctStart = FALSE
DBParams = null
InsertCheckpointAcct = null
</Accounting>
Wed, 11 May 2005 13:06:00 070: FINE:
<Accounting file_acct>
BackStore = FILE
InsertAcct = null
QueueLength = 5000
RecordAcctStart = TRUE
FileNameFormat = yyyy-MM-dd-HH.csv
AcctDirectory = AcctLog
</Accounting>
Your evaluation license will expire in 25 day(s).
Wed, 11 May 2005 13:06:00 137: INFO: Listener started at: 1812
Wed, 11 May 2005 13:06:00 143: INFO: Listener started at: 1813
Started Successfully <<<
Anyone have any idea how to implement this valuable software in SER because we're gonna pay for it.
Hi all,
I'm trying to configure SER 0.8.14 to use authentication with NavisRadius
4.5.0.
On my X-Lite (X-Lite v2.0 Build 1103m) client I'm getting "Login Failed!
Contact Network Admin."
I'm getting following message from NavisRadius. Why? => Reply-Message = "No
check.password"
I would be very grateful if someone could look at my ser.cfg and output from
NavisRadius.
Best regards
****************************************************************************
*
This is what I get on RADIUS server (different from SER machine)
Client:
Client-Class = "#default"
Nas_Port_Normalization = off
Radius_Remove_Trailing_Nul = TRUE
Radius_Append_Trailing_Nul = FALSE
Auto_Remove_Check_Items = TRUE
Check_Authenticators = TRUE
Session_Time_From_Time_Of_Day = FALSE
Radius_Charset = "UTF8"
Client-Class = "video"
Client-Dictionary = "draft_ietf_radext_digest_auth_01"
**** dictionary of radiusclient on SER machine is adjusted to dictionary of
RADIUS, and RADIUS can recognize attributes - except if I MUST run
sterman_aaa_sip_00 on NavisRadius???? I attached dictionary in radiusclient
to this message ****
Client-Secret = <hidden>
Request:
User-Name = "djovanov.srce"
Digest-Username = "djovanov.srce"
Digest-Realm = "srce.hr"
Digest-Nonce = "427b5aa983df858da94c50d1f8132a69e3e703ad"
Digest-URI = "sip:srce.hr"
Digest-Method = "REGISTER"
Digest-Response = "ca6202fe55c51501295a9bc6ab325420"
Service-Type = IAPP-Register
Anonymous = v0-a208-646A6F76616E6F7669632E73726365
**** RADIUS doesn't recognize code 208, which is Sip-Uri-User ****
****Am I missing Digest-Algorithm? Why SER doesn't send this attribute?****
NAS-IP-Address = 161.53.0.131
NAS-Port = 5060
Packet:
Client-Name = "161.53.0.131"
Packet-Type = Access-Request
Packet-Identifier = 213
Packet-Length = 197
Packet-Authenticator = 2B25D6D4934B930EB21F8E1B6AEFFE50
Source-Address = 161.53.0.131
Source-Port = 33159
Destination-Address = 0.0.0.0
Destination-Port = 1812
Receipt-Time = "2005/05/06 13:44:32"
Full-User-Name = "djovanov.srce"
Base-User-Name = "djovanov.srce"
Normalized-Nas-Port = 5060
19 <engine.worker.0> -> checkDigest[AuthHttpDigest]
19 <plugin.AuthHttpDigest.checkDigest> FAILURE -- No check.password
20 <engine.worker.0> Variable group trace
Reply:
Reply-Message = "No check.password"
**** this is message is which I get from NavisRadius ****
****************************************************************************
************
This is my ser.cfg
fifo_db_url="mysql://ser:heslo@localhost/ser"
# ------------------ module loading ----------------------------------
loadmodule "/usr/local/lib/ser/modules/mysql.so"
loadmodule "/usr/local/lib/ser/modules/sl.so"
loadmodule "/usr/local/lib/ser/modules/tm.so"
loadmodule "/usr/local/lib/ser/modules/rr.so"
loadmodule "/usr/local/lib/ser/modules/maxfwd.so"
loadmodule "/usr/local/lib/ser/modules/usrloc.so"
loadmodule "/usr/local/lib/ser/modules/registrar.so"
loadmodule "/usr/local/lib/ser/modules/textops.so"
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/group.so"
loadmodule "/usr/local/lib/ser/modules/uri.so"
loadmodule "/usr/local/lib/ser/modules/uri_radius.so"
loadmodule "/usr/local/lib/ser/modules/group_radius.so"
loadmodule "/usr/local/lib/ser/modules/auth_radius.so"
loadmodule "/usr/local/lib/ser/modules/msilo.so"
modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser")
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "timer_interval", 10)
modparam("rr", "enable_full_lr", 1)
modparam("auth_radius", "radius_config",
"/usr/local/etc/radiusclient-ng/radiusclient.conf")
modparam("auth_radius", "service_type", 15)
modparam("group_radius", "use_domain", 0)
if (uri==myself) {
if (method=="REGISTER") {
# Uncomment this if you want to use digest authentication
if (!radius_www_authorize("")) {
www_challenge("", "0");
break;
};
save("location");
break;
};
lookup("aliases");
if (!uri==myself) {
append_hf("P-hint: outbound alias\r\n");
route(1);
break;
};
# native SIP destinations are handled using our USRLOC DB
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
break;
};
};
Hi Calls work from Asterisk to SER now.
I note in Debug output:
3(1814) contact_parser(): Empty body
3(1814) parse_contact(): Error while parsing
3(1814) error: mediaproxy/getContactURI(): cannot parse Contact header
The call works fine, how do I fix this message or do I leave whats working
alone.
Cheers
Greg
_____________________________________________________________________
Hi Greger
Thank you for the information I have found it just what I needed.
Calls To SER from Asterisk:
To add to trusted in MYSQL I would use this right:
INSERT INTO trusted SET
src_ip='***.***.***.***',proto='any',from_pattern='sip:[0-9]*@***.***.***.**
*'; #replace *** with the asterisk ip address
With this in my ser.cfg:
modparam("permissions", "db_url", "mysql://ser:heslo@localhost/ser
<mysql://ser:heslo@localhost/ser%22> ")
modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")
and for routing to Asterisk From SER:
if (method == "INVITE" && (uri=~"^sip:0")){
rewritehostport ("***.***.***.***:5060");
t_relay();
break();
};
Or do I just add:
Asterisk to the trusted table and the following near the
if(!allow_trusted)
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
break;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
break;
Thank you very much for your help
Cheers
Greg
_____
From: Greger V. Teigre [mailto:greger@teigre.com]
Sent: Wednesday, 11 May 2005 6:20 PM
To: Mr Greg Plater; serusers(a)lists.iptel.org
Subject: Re: [Serusers] Ser Accepting Calls From Asterisk
Greg,
Basically, you can do four things (first two for dialing asterisk-ser, the
next two for dialing ser-asterisk):
1. Accept INVITEs from a specific src ip (asterisk) and add if(src_ip !=
asterisk_ip) around the INVITE authentication to avoid that part being
triggered
2. Or you accomplish the same thing be adding asterisk to the trusted table
and us if(!allow_trusted) instead. This will give you more control as you
can filter on ruri as well.
3. You can create an account in asterisk and have asterisk register with SER
like a regular user (who will be available in location for dialling into
asterisk). This only makes sense if you have one main number for all users
registered on asterisk (you don't need 1 or 2 if you do this)
4. Use some kind of routing, either through manual configuration (uri=~"some
pattern", then forward to asterisk) or use the LCR (least cost routing)
module to look up the ruris and forward to asterisk. This must be done in
combination with 1 or 2.
Hope this helps.
g-)
---- Original Message ----
From: Mr Greg Plater
To: serusers(a)lists.iptel.org
Sent: Wednesday, May 11, 2005 06:10 AM
Subject: [Serusers] Ser Accepting Calls From Asterisk
> Hi
>
> I am using the onsip getting started doc with mediaproxy.
>
> Calls for registered users on SER work great but when I try to call a
> registered ser user from my asterisk box.
> I get a response in Asterisk Debug. Says "failed to auth on INVITE"
>
> If I wish to allow calls from my asterisk box to registered users on
> SER what do I change.
>
>
> IN SER.cfg I note these 2 snippets
>
>
> if (!www_authorize("","subscriber")) {
> www_challenge("","0");
> break;
> };
>
>
>
> if (!proxy_authorize("","subscriber")) {
> proxy_challenge("","0");
> break;
> } else if (!check_from()) {
> sl_send_reply("403", "Use From=ID");
> break;
> };
>
>
>
> _______________________________________________
> Serusers mailing list
> serusers(a)lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers
Hello,
I use ser 0.9.0 and I try to fork a call to a sip ipPhone and to a mobile
phone via a pstn gateway.
The problem is that the gateways send a 183 Session Progress with early
media and if I answer with the ipPhone the nathelper do not use the SDP from
the 200 OK but continues to forward the rtp stream to the gateways ( SDP
received in the 183).
Thanks
Laurent
Does anyone know of a way to use mediaproxy with forked phone calls?
It seems to only allocates a single media session when use_media_proxy()
is called on a SIP message with multiple branches, so when one session
is established and the other is torn down, the media session with media
proxy is also torn down.