-------- Original Message --------
From: - Mon Nov 29 12:11:08 2004
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00800000
Message-ID: <41AB663B.8010704(a)cybertheque.org>
Date: Mon, 29 Nov 2004 12:11:07 -0600
From: msg <msg(a)cybertheque.org>
Organization: Cybertheque Museum
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.2)
Gecko/20040804 Netscape/7.2 (ax)
X-Accept-Language: en,ja
MIME-Version: 1.0
To: Daniel-Constantin Mierla <Daniel-Constantin.Mierla(a)fokus.fraunhofer.de>
Subject: Re: [Serusers] 'dbtext' database tables problems
References: <41AAB016.3030004(a)cybertheque.org>
<41AAEBF4.3060602(a)fokus.fraunhofer.de>
In-Reply-To: <41AAEBF4.3060602(a)fokus.fraunhofer.de>
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit
Daniel, thanks for your reply.
I had used the definitions found in ser_mysql.sh (omitting some fields
I'll admit) and comparing those with the fields in the various examples;
one problem turned out to be white space in (type,null) definitions
in the examples. There also were extra fields not included in the
ser_mysql.sh script but requested in the diagnostics.
Anyway, it works now and for those who want a quick start I'm posting
the contents of 'ser.cfg' and the database files 'version',
'subscriber', 'aliases' and 'location' (stripped of actual entries).
Regards,
Michael Grigoni
Cybertheque Museum
---ser.cfg---
#
# $Id: ser.cfg,v 1.24 2003/11/11 15:32:36 andrei Exp $
#
# simple quick-start config script
#
# ----------- global configuration parameters ------------------------
mhomed=1
alias=cybertheque.org
debug=9 # debug level (cmd line: -dddddddddd)
fork=yes
#log_stderror=no # (cmd line: -E)
check_via=no # (cmd. line: -v)
dns=no # (cmd. line: -r)
rev_dns=no # (cmd. line: -R)
#port=5060
children=2
fifo="<absolute path to fifo>" #why tell the world
# ------------------ module loading ----------------------------------
# Uncomment this if you want to use dbtext database
loadmodule "/usr/local/lib/ser/modules/dbtext.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"
# Uncomment this if you want digest authentication
# dbtext.so must be loaded !
loadmodule "/usr/local/lib/ser/modules/auth.so"
loadmodule "/usr/local/lib/ser/modules/auth_db.so"
# ----------------- setting module-specific parameters ---------------
# -- usrloc params --
#modparam("usrloc", "db_mode", 0)
# Uncomment this if you want to use dbtext database
# for persistent storage and comment the previous line
modparam("usrloc", "db_mode", 2)
modparam("usrloc", "db_url", "dbtext://</absolute/path/to/url_dir>")
modparam("auth_db", "db_url", "dbtext://</absolute/path/to/url_dir>")
# -- auth params --
# Uncomment if you are using auth module
#
modparam("auth_db", "calculate_ha1", 1)
#
# If you set "calculate_ha1" parameter to 1 (which true in this config),
# uncomment also the following parameter)
#
modparam("auth_db", "password_column", "password")
modparam("auth_db", "user_column", "username")
modparam("auth_db", "domain_column", "domain")
# -- rr params --
# add value to ;lr param to make some broken UAs happy
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 (!www_authorize("<your_sip_domain>", "subscriber")) {
www_challenge("<your_sip_domain>", "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();
};
}
---version---
table_name(str) table_version(int)
subscriber:3
location:6
aliases:6
---location--- (note that this is all one line):
username(str) domain(str,null) contact(str,null) expires(int,null)
q(double,null) callid(str,null) cseq(int,null) last_modified(str)
replicate(int,null) state(int,null) flags(int) user_agent(str) received(str)
---aliases--- (note that this is all one line):
username(str) domn(str,null) contact(str,null) expires(int,null)
q(double,null) callid(str,null) cseq(int,null) last_modified(str)
replicate(int,null) state(int,null) flags(int) user_agent(str) received(str)
---subscriber--- (note that this is all one line):
username(str) domn(str) password(str) first_name(str) last_name(str)
phone(str) email_address(str) datetime_created(int)
datetime_modified(int) confirmation(str) flag(str) sendnotification(str)
greeting(str) ha1(str) ha1b(str) perms(str) allow_find(str)
timezone(str,null) rpid(str,null) uuid(str,null)
Hi,
I set up my ser+asterisk in order to make it scalable suggested.
The amazing thing is that when lookup(location) failed, call is forward to
asterisk as I asked (see diagnostic below) but when I got a client is not
responding, calls are not forwarding to asterisk.
Where do I miss something ?
Thanks in advance
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
if (uri==myself) {
if (method=="REGISTER") {
save("location");
break;
};
if (!lookup("location")) {
sl_send_reply("404", "Not Found");
rewritehostport("10.0.0.13:5070");
t_relay_to_udp("10.0.0.13","5070");
break;
}; # THIS IS WORKING !!! IT'S FOR TEST PURPOSE
};
if (!t_relay()) {
sl_reply_error();
};
if (method=="INVITE"){
t_on_failure("1");
t_relay();
break;
}
}
# THIS IS NOT WORKING AT ALL !!!
route[1]{
if(uri=~"^sip:72[0-9]{2}@*"){
revert_uri();
rewritehostport("10.0.0.73:5070");
append_branch();
t_relay_to_udp("10.0.0.13","5070");
}
}
--------------------------------------------------- LOGS SHOW WHEN TRYING
TO CALL USER 7200 WHO IS TURN OFF
----------------------------------------------------
Retransmitting #3 (no NAT):
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.0.242;branch=z9hG4bK5abb.ca4466d3.0
Via: SIP/2.0/UDP 10.0.0.155:5060;branch=z9hG4bK1A7CD2A548DE4C5A9ADC42D9117B3B5B
Record-Route: <sip:7200@10.0.0.242;ftag=1412313924;lr=on>
From: Jean <sip:7201@10.0.0.242>;tag=1412313924
To: <sip:7200@10.0.0.242>;tag=as25d200ae
Call-ID: 240C974F-FFF5-4EB7-B9D9-C8B69484018B(a)10.0.0.155
CSeq: 47883 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:7200@10.0.0.13:5070>
Content-Type: application/sdp
Content-Length: 255
v=0
o=root 5586 5587 IN IP4 10.0.0.13
s=session
c=IN IP4 10.0.0.13
t=0 0
m=audio 10602 RTP/AVP 3 0 8 101
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
to 10.0.0.242:5060
Retransmitting #4 (no NAT):
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.0.242;branch=z9hG4bK5abb.ca4466d3.0
Via: SIP/2.0/UDP 10.0.0.155:5060;branch=z9hG4bK1A7CD2A548DE4C5A9ADC42D9117B3B5B
Record-Route: <sip:7200@10.0.0.242;ftag=1412313924;lr=on>
From: Jean <sip:7201@10.0.0.242>;tag=1412313924
To: <sip:7200@10.0.0.242>;tag=as25d200ae
Call-ID: 240C974F-FFF5-4EB7-B9D9-C8B69484018B(a)10.0.0.155
CSeq: 47883 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:7200@10.0.0.13:5070>
Content-Type: application/sdp
Content-Length: 255
v=0
o=root 5586 5587 IN IP4 10.0.0.13
s=session
c=IN IP4 10.0.0.13
t=0 0
m=audio 10602 RTP/AVP 3 0 8 101
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
to 10.0.0.242:5060
Retransmitting #5 (no NAT):
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.0.0.242;branch=z9hG4bK5abb.ca4466d3.0
Via: SIP/2.0/UDP 10.0.0.155:5060;branch=z9hG4bK1A7CD2A548DE4C5A9ADC42D9117B3B5B
Record-Route: <sip:7200@10.0.0.242;ftag=1412313924;lr=on>
From: Jean <sip:7201@10.0.0.242>;tag=1412313924
To: <sip:7200@10.0.0.242>;tag=as25d200ae
Call-ID: 240C974F-FFF5-4EB7-B9D9-C8B69484018B(a)10.0.0.155
CSeq: 47883 INVITE
User-Agent: Asterisk PBX
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER
Contact: <sip:7200@10.0.0.13:5070>
Content-Type: application/sdp
Content-Length: 255
v=0
o=root 5586 5587 IN IP4 10.0.0.13
s=session
c=IN IP4 10.0.0.13
t=0 0
m=audio 10602 RTP/AVP 3 0 8 101
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
to 10.0.0.242:5060
Nov 29 15:22:39 WARNING[31452080]: chan_sip.c:683 retrans_pkt: Maximum
retries exceeded on call 240C974F-FFF5-4EB7-B9D9-C8B69484018B(a)10.0.0.155
for seqno 47883 (Non-critical Response)
Nov 29 15:22:43 NOTICE[125635504]: res_musiconhold.c:306 monmp3thread:
Request to schedule in the past?!?!
-- Playing 'vm-password' (language 'en')
-- Incorrect password '' for user '7201' (context = <any>)
-- Playing 'vm-incorrect-mailbox' (language 'en')
-- Playing 'vm-password' (language 'en')
-- Incorrect password '' for user '7201' (context = <any>)
-- Playing 'vm-incorrect-mailbox' (language 'en')
-- Playing 'vm-password' (language 'en')
-- Incorrect password '' for user '7201' (context = <any>)
-- Playing 'vm-incorrect' (language 'en')
-- Playing 'vm-goodbye' (language 'en')
-- Executing Hangup("SIP/10.0.0.242-085da938", "") in new stack
== Spawn extension (default, 7200, 4) exited non-zero on
'SIP/10.0.0.242-085da938'
Destroying call '240C974F-FFF5-4EB7-B9D9-C8B69484018B(a)10.0.0
hi,
check this url
http://cvs.berlios.de/cgi-bin/viewcvs.cgi/ser/
thanks
Ahmed
At 15:30 29/11/2004, Jain, Hitesh wrote:
>Hi,
> I just wanted to know what's the latest version of SER and where can
> I download it from.
>
>Thanks,
>Hitesh
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
Hello all,
Do I have to restart ser, if I increase the debugging level in
ser.cfg and for that matter do I have to restart ser if I modify any
value in the ser.cfg file ?
thanks in advance for your help.
Jignesh Gandhi
Software Engineer II
Can you send a list of the error messages ?
More than likely, you're missing a dependency of some sort.
- D
On 11/29/04 6:00 AM, "serusers-request(a)lists.iptel.org"
<serusers-request(a)lists.iptel.org> wrote:
> Message: 2
> Date: Sun, 28 Nov 2004 22:26:22 -0600
> From: Nicol?s Lagalaye Falcionelli <berenerchamion(a)bluebottle.com>
> Subject: [Serusers] Mac OS X
> To: serusers(a)lists.iptel.org
> Message-ID: <1101702382.41aaa4eea539e(a)www.bluebottle.com>
> Content-Type: text/plain; charset=ISO-8859-1
>
> How can I compile SER on Mac OS X? With the package I got
> instructions
> came in order to start SER at startup, but I found nothing about
> building. I tried typing "make" but I got a very long list of all
> kinds o errors.
>
> Can anyone help?
>
> Thanks
Greetings:
I need to configure 'dbtext' databases (0.8.99-dev19); debugging
diagnostics reveal the need for a 'version' database file. From
inspecting the code I made this one:
table_name(str) table_version(int)
subscriber:3
location:6
I populated the 'location' and 'subscriber' files according to various
'dbtext' examples; diagnostics report the need to 'preload' the domain
'location' in the location file (and I presume the domain 'aliases' also
--- if loading were to get that far):
0(0) preload_udomain(): Error while doing db_query
0(0) register_udomain(): Error while preloading domain 'location'
I would appreciate a full description of the fields for these files
(if different than the examples in the source tree) and how to set up
the preloaded domains, etc.
Regards,
Michael Grigoni
Cybertheque Museum
Hi folks,
I am trying to find out the methods supported by SER. I am aware that
SER is RFC-3261 compliant, but, do not know to what extent. If someone can
tell me what (in 3261) is supported and what is not, that would be nice.
Also, if SER supports any extensions (3262, 63, 64), please let me know.
After some Googling, I found that the basic methods of SIP are:
INVITE to initiate a session
Re-INVITE if, during a call, either party wants to change the media; for
example to open a video channel
ACK to confirm session establishment and can only be used with INVITE
BYE terminates sessions
CANCEL to cancel a pending INVITE
OPTIONS for capability inquiry
REGISTER to bind a permanent address to current location
The other methods (found in extensions) of SIP are:
Other SIP method extensions are defined in different RFCs such as:
SUBSCRIBE to subscribe to a service state change. sed for presence
(subscribe to an event and receive
notification), call-back (when other party becomes vailable), voice mail
notification, any event that can be
associated with a trigger (e.g., stock quotes, etc.)
NOTIFY notify a change of service state (e.g., new voice message).Works in
parallel with SUBSCRIBE
MESSAGE for Instant Messaging (user to user messaging). MESSAGE requests
carry the content in the
form of MIME body parts
REFER call transfer
PUBLISH publication of presence information to a server
Does SER support all the above Basic methods? Can someone tell me if SER
supports any of the extensions? Basically, I am trying to use SER for VoIP
integration and I am trying to get all the data I can about SER for
interoperating with various SIP phones. I will not be using Asterisk for now
(as a part of VoIP integration).
Thanks much,
Sri.
********************************DISCLAIMER**********************************
This e-mail and any attachment is for authorised use by the intended
recipient(s) only. It may contain proprietary material, confidential
information and/or be subject to legal privilege of Deccanet Designs Ltd.
If you have received this message in error, please notify the originator
immediately. If you are not the intended recipient, you are notified that
you are strictly prohibited from retaining, using, copying, altering or
disclosing the contents of this message.
****************************************************************************