hi all,
I set up ser + serweb + asterisk with 2 ip300 Polycom.
ip300 Polycom supporting SUBSCRIBE/NOTIFY/MESSAGE
methods.
When i set one phone offline (phone is powered and
registered in location table) i can't store IM in
msilo
table.IM is sent to phone
if i switch off phone IM is stored in msilo table but
when I switch on the phone IM is not dumped to phone.
Can I use presence instead of location in order to
store IM ?
Harry
Découvrez le nouveau Yahoo! Mail : 250 Mo d'espace de stockage pour vos mails !
Créez votre Yahoo! Mail sur http://fr.mail.yahoo.com/
Hi juha,
Take a look in the ethereal sniffing for both cases (see attach):
Thanks for helping us.
Best regards,
toni
-----Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of Juha Heinanen
Sent: quinta-feira, 3 de Março de 2005 19:29
To: Toni Barata
Cc: serusers(a)lists.iptel.org
Subject: [Serusers] enum parse problem
Toni Barata writes:
> Why enum module is not capable of parsing a response to a naptr query
> if this response don´t have any Authority and Additional RRs?
this has nothing to do with naptr query. if there is a problem with
those authority or additional rrs, it applies to any query. are you
sure that in both case (with and without a and aa rrs), rdata containing
naptr record looks exactly the same? the format is this:
* 0123456789012345
* +----------------+
* | order |
* |----------------|
* | preference |
* |----------------|
* ~ flags ~
* | (string) |
* |----------------|
* ~ services ~
* | (string) |
* |----------------|
* ~ regexp ~
* | (string) |
* |----------------|
* ~ replacement ~
| (name) |
* +----------------+
i didn't see order/preference in your response or then ethereal is not
able to decode rdata properly.
-- juha
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers
First of all, I am not SER expert.
From my last couple of weeks learning I will suggest below:
Olivier.taylor wrote:
> Thx to be so fast,
> here is my ser.cfg
> #
> # $Id: ser.cfg,v 1.21.4.1 2003/11/10 15:35:15 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)
>
> /* Uncomment these lines to enter debugging mode
> debug=7
> 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"
fifo_db_url="mysql://ser:heslo@localhost/ser" #
<--------- if you want fifo db
> # ------------------ module loading ----------------------------------
>
> # Uncomment this if you want to use SQL database
> loadmodule "/usr/lib/ser/modules/mysql.so"
>
> 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"
>
> # Uncomment this if you want digest authentication
> # mysql.so must be loaded !
> loadmodule "/usr/lib/ser/modules/auth.so"
> loadmodule "/usr/lib/ser/modules/auth_db.so"
>
> # ----------------- setting module-specific parameters ---------------
>
> # -- usrloc params --
>
> #modparam("usrloc", "db_mode", 0)
>
> # Uncomment this if you want to use SQL database
> # for persistent storage and comment the previous line
modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser") #
<---- you need define this, if your database is different than default
> modparam("usrloc", "db_mode", 2)
>
> # -- auth params --
> # Uncomment if you are using auth module
> #
> #modparam("auth_db", "calculate_ha1", yes)
> #
> # If you set "calculate_ha1" parameter to yes (which true in this
> config),
> # uncomment also the following parameter)
> #
> #modparam("auth_db", "password_column", "password")
>
> # -- rr params --
> # add value to ;lr param to make some broken UAs happy
modparam("rr", "enable_full_lr", 1) # <----------- i think you want this
>
> # ------------------------- request routing logic -------------------
>
> # main routing logic
> alias="finalcut.be"
> alias="linux.finalcut.be"
> alias="82.146.123.252"
its better to put above three lines in global section
if your computer ip is 82.146.123.252
you should have
listen=82.146.123.252
alias="finalcut.be"
alias="linux.finalcut.be"
For the rest of your config file, i really can't help.
I am also learing to write route logic.
> route{
>
> # initial sanity checks -- messages with
> # max_forwards==0, or excessively long requests
> if (!mf_process_maxfwd_header("70")) {
> 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
> record_route(); # loose-route processing
> if (loose_route()) {
> t_relay();
> 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("82.146.123.252", "subscriber")) {
> www_challenge("82.146.123.252", "0");
> break;
> };
>
> save("location");
> break;
> };
>
> # native SIP destinations are handled using our USRLOC DB
> if (!lookup("location")) {
> sl_send_reply("404", "Not Found");
> break;
> };
> };
> # forward to current uri now; use stateful forwarding; that
> # works reliably even if we forward from TCP to UDP
> if (!t_relay()) {
> sl_reply_error();
> };
>
> }
>
>
>
>
>
>
>
>
>
>
>
>
> Mohammad Khan wrote:
>
>> you will need something like this in you ser.cfg
>> modparam("auth_db", "db_url", "mysql://ser:heslo@localhost/ser")
>> modparam("usrloc", "db_url", "mysql://ser:heslo@localhost/ser")
>>
>> I can tell you better if I could see your ser.cfg
>>
>> MOhammad
>>
>>
>> Olivier.taylor wrote:
>>
>>> I installed ser on a linux box centos 3.4
>>> I use mysql 4.10
>>>
>>> Furthermore I am noob on Linux and Ser :(
>>>
>>> I get this messages at boot in the messages file
>>> Impossible the for an UA to connect to ser...
>>>
>>> Help is welcome,
>>> regards,
>>>
>>> Olivier
>>>
>>> Mar 3 17:12:19 linux ser: WARNING: could not rev. resolve
>>> 82.146.123.252
>>> Mar 3 17:12:19 linux ser: Listening on
>>> Mar 3 17:12:19 linux ser: 127.0.0.1 [127.0.0.1]:5060
>>> Mar 3 17:12:19 linux ser: 82.146.123.252
>>> [82.146.123.252]:5060
>>> Mar 3 17:12:19 linux ser: Aliases: localhost:5060
>>> localhost.localdomain:5060 82.146.123.252:* linux.finalcut.be:*
>>> finalcut.be:*
>>> Mar 3 17:12:19 linux ser: Listening on
>>> Mar 3 17:12:19 linux ser: 127.0.0.1 [127.0.0.1]:5060
>>> Mar 3 17:12:19 linux ser: 82.146.123.252
>>> [82.146.123.252]:5060
>>> Mar 3 17:12:19 linux ser: Aliases: localhost:5060
>>> localhost.localdomain:5060 82.146.123.252:* linux.finalcut.be:*
>>> finalcut.be:*
>>> Mar 3 17:12:19 linux ser: Listening on
>>> Mar 3 17:12:19 linux ser: 127.0.0.1 [127.0.0.1]:5060
>>> Mar 3 17:12:19 linux ser: 82.146.123.252
>>> [82.146.123.252]:5060
>>> Mar 3 17:12:19 linux ser: Aliases: localhost:5060
>>> localhost.localdomain:5060 82.146.123.252:* linux.finalcut.be:*
>>> finalcut.be:*
>>> Mar 3 17:12:19 linux ser: ser startup succeeded
>>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: connect_db(): Can't
>>> connect to local MySQL server through socket
>>> '/var/lib/mysql/mysql.sock' (2)
>>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: db_init(): Error while
>>> trying to connect database
>>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: mod_init(): Error while
>>> connecting database
>>> Mar 3 17:12:19 linux /usr/sbin/ser[2649]: init_mod(): Error while
>>> initializing module usrloc
>>>
>>> _______________________________________________
>>> Serusers mailing list
>>> serusers(a)lists.iptel.org
>>> http://lists.iptel.org/mailman/listinfo/serusers
>>
>>
>>
>>
>>
Let me know, if it improves the situation.
Good Luck
MOhammad
Hello,
Yes, it works fine.
I'm running it on my SER's.
If you download from CVS, there are some modifications you have to make
due to the new api in the dev branch
I belive if you try to compile directly, you will get som errors
regarding "_F" 's. (if I'm not remembering completely wrong....)
hw
Hi
I read a post sometime back about it being possible to use lcr with
0.9.0, but cant seem to locate it (so much for google ), if neone has
it working give me a shout, works a treat with 0.10-dev, never tried it
with 0.9
Iqbal
During the testing procedure, I found that when both sip UAs
who are located behind the same NAT cloud want to establish
voice or video connection, there is not neccesary to bridge
them with rtpproxy. Only in situations where one of UA sits
behind NAT or each UA sits behind different NAT clouds, that
need a RTPProxy to bridge their media stream.
What I mean is SER can determine the use of RTPproxy or not
through the registration of sip UA. In location table, there
are recieved and contact fields. But ser don't fill the
recieved field, I think it is very userful for NAT.
Glad to hear your instructions
Best Regards
Sun Zongjun
Ozan Blotter wrote:
> Dear Sun Zongjun,
>
> I've read and can you please check this for me >>>
>
>
> Conditions as follows :
>
> * SER runs on a Public IP
> * SER works without auth & database modules,
> * Nearly all user behind NAT (but routers configured to do port
> forwarding for TCP/UDP 5060) to help SER in some cases,
> * Users numbers in format of 833XXXXXXX 834XXXXXXX and they should
> call each P2P-SIP-Calls (if not behind NAT),
> * If a user need to call PSTN end point (SIP Gateway located at
> 212.154.32.154) the call traffic should flow over SER to SIP Gateway
> via T1 connection already located between that systems so SER handles
> all voice traffic by help of RTP Proxy.
> * UA's registers on SER (Zyxel Prestige 2000, Zyxel Prestige 200W,
> Cisco ATA186 etc.)
>
> Problem is users cannot call each other (if i comment lines for
> nathelper they can call)
>
> It's clear i think, and below is my ser.cfg, what do i need extra or
> erase.
Sorry, I feel shame that I can't see anything wrong about it. maybe you can
add the following line:
rtpproxy_sock="unix:/foo/bar=4 udp:1.2.3.4:3456=3 udp:5.6.7.8:5432=1"
I think the seruser mail list may have the same questions. You can
consult them.
BTW I use the iptel.org's SER to test my SIP UA, Not my own SER with
nathelper.
Best Regards.
Sun Zongjun
>
>
> <-<-<-<-< MY SER.CFG STARTS HERE >->->->->
>
> #
> # $Id nathelper.cfg,v 1.1.2.1 20050301 by Ozan Blotter Exp $
> #
> # simple quick-start config script including nathelper support
>
> # This default script includes nathelper support. To make it work
> # you will also have to install Maxim's RTP proxy. The proxy is enforced
> # if one of the parties is behind a NAT.
> #
> # If you have an endpoing in the public internet which is known to
> # support symmetric RTP (Cisco PSTN gateway or voicemail, for example),
> # then you don't have to force RTP proxy. If you don't want to enforce
> # RTP proxy for some destinations than simply use t_relay() instead of
> # route(1)
> #
> # Sections marked with !! Nathelper contain modifications for nathelper
> #
> # NOTE !! This config is EXPERIMENTAL !
> #
> # ----------- global configuration parameters ------------------------
>
> # debug=3 # debug level (cmd line -dddddddddd)
> # fork=yes
> # log_stderror=no # (cmd line -E)
>
> /* Uncomment these lines to enter debugging mode
> debug=7
> 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"
>
> # ------------------ module loading ----------------------------------
>
> # Uncomment this if you want to use SQL database
> 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"
>
> # !! Nathelper
> loadmodule "/usr/local/lib/ser/modules/nathelper.so"
>
> # ----------------- setting module-specific parameters ---------------
>
> # -- usrloc params --
>
> modparam("usrloc", "db_mode", 0)
>
> # -- rr params --
> # add value to ;lr param to make some broken UAs happy
>
> modparam("rr", "enable_full_lr", 1)
>
> # !! Nathelper
> modparam("registrar", "nat_flag", 6)
> modparam("nathelper", "natping_interval", 10) # Ping interval 10 seconds
> modparam("nathelper", "ping_nated_only", 1) # Ping only clients
> behind NAT
>
> # ------------------------- 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;
> };
>
> # if ((method=="NOTIFY")&& search("^Event: Keep-Alive")) {
> # ls_send_reply("200","OK");
> # break;
> # };
>
> # !! Nathelper
> # Special handling for NATed clients; first, NAT test is
> # executed it looks for via!=received and RFC1918 addresses
> # in Contact (may fail if line-folding is used); also,
> # the received test should, if completed, should check all
> # vias for rpesence of received
> if (nat_uac_test("3")) {
>
> # Allow RR-ed requests, as these may indicate that
> # a NAT-enabled proxy takes care of it; unless it is
> # a REGISTER
> if (method=="REGISTER" || ! search("^Record-Route:")) {
> # log("LOG: Someone trying to register from private IP,
> rewriting\$
>
> # This will work only for user agents that support symmetric
> # communication. We tested quite many of them and majority is
> # smart enough to be symmetric. In some phones it takes a
> configuration
> # option. With Cisco 7960, it is called NAT_Enable=Yes, with
> kphone it $
> # called symmetric media and symmetric signalling.
>
> fix_nated_contact(); # Rewrite contact with source IP of
> signalling
> if (method == "INVITE") {
> fix_nated_sdp("1"); # Add direction=active to SDP
> };
>
> force_rport(); # Add rport parameter to topmost Via
> setflag(6); # Mark as NATed
> };
> };
>
> # 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") {
>
> if (!(uri=~"sip:(833)|(834)")) {
> t_relay_to_udp("212.154.32.154","5060");
>
> 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]
> {
> # !! Nathelper
> if (uri=~"[@:](192\.168\.|10\.172\.(1[6-9]|2[0-9]|3[0-1])\.)"
> && !searc$
> sl_send_reply("479", "We don't forward to private IP
> addresses");
> break;
> };
>
> # if client or server know to be behind a NAT, enable relay
> if (isflagset(6)) {
> force_rtp_proxy();
> };
>
> # NAT processing of replies; apply to all transactions (for
> example,
> # re-INVITEs from public to private UA are hard to identify as
> # NATed at the moment of request processing); look at replies
> t_on_reply("1");
>
> # send it out now; use stateful forwarding as it works reliably
> # even for UDP2TCP
> if (!t_relay()) {
> sl_reply_error();
> };
> }
>
> # !! Nathelper
> onreply_route[1] {
> # NATed transaction
> if (isflagset(6) && status =~ "(183)|2[0-9][0-9]") {
> fix_nated_contact();
>
> if (!search("^Content-Length:\0")){
> force_rtp_proxy();
> };
> # otherwise, is it a transaction behind a NAT and we did not
> # know at time of request processing (RFC1918 contacts)
> } else if (nat_uac_test("1")) {
> fix_nated_contact();
>
> if (!search("^Content-Length:\0")){
> force_rtp_proxy();
> };
> # otherwise, is it a transaction behind a NAT and we did not
> # know at time of request processing (RFC1918 contacts)
> } else if (nat_uac_test("1")) {
> fix_nated_contact();
> };
> }
>
> <-<-<-<-< MY SER.CFG ENDS HERE >->->->->
>
>
> > szj wrote:
> >
> > During the testing procedure, I found that when both sip UAs
> > who are located behind the same NAT cloud want to establish
> > voice or video connection, there is not neccesary to bridge
> > them with rtpproxy. Only in situations where one of UA sits
> > behind NAT or each UA sits behind different NAT clouds, that
> > need a RTPProxy to bridge their media stream.
> > What I mean is SER can determine the use of RTPproxy or not
> > through the registration of sip UA. In location table, there
> > are recieved and contact fields. But ser don't fill the
> > recieved field, I think it is very userful for NAT.
> >
> > Glad to hear your instructions
> > Best Regards
> >
> > Sun Zongjun
Hi,
Has anyone used Avaya 4620SW Phone? I am having some problems with
the speakerphone? Does anyone have any review/feedback for this phone?
Thanks,
Hitesh.
Good day,
I have a very interesting error coming back with my attempts to use the
mediaproxy module.
This is what is appearing in the syslog file:
Mar 3 13:26:37 hostthe3rd /usr/local/sbin/ser[30021]: error:
mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
Mar 3 13:26:37 hostthe3rd /usr/local/sbin/ser[30020]: error:
mediaproxy/sendMediaproxyCommand(): can't connect to MediaProxy
The phones do ring, but no voice channel is established. 2 phones are
located behind a nat firewall on the same subnet, and the ser server is on
the internet with internet ip's.
I can send a full copy of my cfg file if needed, but will attach small
snippits of it that have the sections on the mediaproxy parts.
Any help on this would be greatly appreciated.
Thanks
Terry
--- Snippets from ser.cfg file ---
loadmodule "/usr/local/lib/ser/modules/mediaproxy.so"
...
modparam("mediaproxy", "natping_interval", 60)
modparam("registrar", "nat_flag", 2)
...
route {
...
if (method=="REGISTER") {
# Nat Info - Hopefully
if (client_nat_test("3")) {
setflag(2);
force_rport();
fix_contact();
};
...
route[2] {
if (method=="INVITE") {
t_on_failure("1");
} else if (method=="BYE" || method=="CANCEL") {
end_media_session();
};
if (loose_route()) {
if (method=="INVITE" || method=="ACK") {
use_media_proxy();
};
t_relay();
break;
}
if (method=="INVITE") {
record_route();
};
if (client_nat_test("3") && !search("^Recored-Route:")) {
force_rport();
fix_contact();
};
if (method=="INVITE") {
t_on_reply("1");
};
if (method=="INVITE" || method=="ACK") {
use_media_proxy();
};
# outbound requests are allowed only for registered BigU users
if (!(src_ip==216.94.106.12) &
!(proxy_authorize("hostthe3rd.rivernet.net", "subscriber"))) {
# ACK and CANCEL have no security mechanisms so they are just
# noted
if (method=="ACK" | method=="BYE") {
log(1, "LOG: failed outbound authentication for ACK granted\n");
} else if (method=="CANCEL") {
log(1, "LOG: failed outbound authentication for CANCEL granted\n");
} else if (method=="INVITE") {
setflag(1);
} else {
proxy_challenge("hostthe3rd.rivernet.net", "0");
break;
};
setflag(1);
};
# to maintain credibility of our proxy, we check From in INVITEs
# if (!src_ip==216.94.106.12 & method=="INVITE" & !check_from()) {
# log(1, "LOG: Spoofed from attempt\n");
# sl_send_reply("403", "Use From=id next time");
# break;
# };
append_hf("P-hint: OUTBOUND ON INTERNET\r\n");
setflag(1);
if (!t_relay()) {
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
sl_reply_error();
break;
};
}
...
failure_route[1] {
end_media_session();
}
onreply_route[1] {
if (status=~"(183)|(2[0-9][0-9])") {
if(client_nat_test("1")) {
fix_contact();
}
use_media_proxy();
};
}