Hello,
I am new to using and managing SER server. My
company has a large scale implementation of SER
and we have been having problems with end users
loosing registration on our SER server and in
some cases the IAD's will not re-register unless
you reboot the IAD.
As I am very new to this and have been thrown in
head first, I thought I would ask on this list.
For trouble shooting purposes, I was wondering if
there is a way to automatically detect when an IAD
looses registration and then have it fire off an
email?
Thanks,
David
Hi all,
We have ser routing in/out calls fine, however we have a problem related
to the append_branch feature. After 25 seconds we use append_branch to
redirect the call off to another number for voicemail etc. Ser sits
behind a stateful call routing engine which handles both inbound and
outbound calls to/from the PSTN. The problem is that when append_branch
forks off the call it receives back a different tag on the To: field on
the OK than that of the original call - hence the OK fails to get back
to the original callee (gateway complains of non-matching To: fields)
We've tried stripping the tag using subst on the OK, but then the ACK
coming back has the same problem (different 'tag' to what is expected in
the other direction).
Simple question, can Ser work in this situation to 'remember' the To-tag
on the forked call somehow - or are we going to need a b2bua to keep
state and handle the forked call? Or, perhaps is there a different way
to redirect a call without using append_branch? Any help would be
appreciated...
Cheers,
Ray
PS. I can provide a call flow example if that would help?
Hi,
I want to perform a textops function, namely subst, over a SIP message.
But I want to do this not from the openser script but from a module I'm
about to implement.
Unfortunately, the textops module did not provide an API to other
modules. But I'm wondering whether it is more than simply removing the
'static' from the function declaration of the subst_f function in
textops.c to make this function accessible for other modules.
Or do I have a chance to set a pseudo-variable or AVP with the complete
regex in one of my own modules functions and perform the subst using
that pseudo-variable or AVP in the openser script directly after the
call to my own function?
Or is the only way to re-implement the subst_f functionality in my own
module to use it from there?
Thank you very much,
Wolfgang
DIDX.net now has high quality Pakistan Phone numbers available.
Codec Support: g711 - g723, G729, ILBC.
Price: $5 Setup, $12 Month
You can try it for 36 Hours for FREE.
For Complete Available DIDs stock, Please visit www.didx.org/did/
Thanks,
Muneeb Iqbal
msn = care(a)didx.org
skype = DIDxnet
Sip : muneeb(a)supertec.com
Toll Free: 1-800-357-5800, Ext. 101003
Direct Number : 1-408-884-1966
Fax: 1-206-339-4203
Super Technologies Inc.
www.supertec.com
Hi All,
How can I eliminate multiple INVITE ACK of the same call? It's causing some
problems on my accounting. PLeasee see attached file for example.
Regards,
Nhadie
________________________________________________
Message sent using UebiMiau 2.7
Hi,
Thanks for the information. I didn't have any lookup_user check in the INVITE method.
I added it before location check and now all uris seem to work fine.
Thanks,
ilker
-----Original Message-----
From: Vaclav Kubart [mailto:vaclav.kubart@iptel.org]
Sent: Tuesday, May 16, 2006 5:54 PM
To: İlker Aktuna (Koç.net)
Cc: serusers(a)lists.iptel.org
Subject: Re: [Serusers] How to add and use uri
I think, that this should be done using lookup_user (I think, that you have it in config, right?)
Vaclav
On Tue, May 16, 2006 at 05:49:53PM +0300, ?lker Aktuna (Koç.net) wrote:
> Hi,
>
> Ser_uri works fine and adds the uri. In fact I add a default uri as :
> 200000900568888885 200000900568888885(a)sip.test.net
>
> But then I add a new and short uri as:
> 200000900568888885 0202(a)sip.test.net
>
> This one doesn't work. I think my configuration need something to add for looking up uris while looking up lookation.
> What is the right command for that ?
>
> Thanks,
> ilker
>
>
> -----Original Message-----
> From: Vaclav Kubart [mailto:vaclav.kubart@iptel.org]
> Sent: Tuesday, May 16, 2006 5:42 PM
> To: ?lker Aktuna (Koç.net)
> Cc: serusers(a)lists.iptel.org
> Subject: Re: [Serusers] How to add and use uri
>
> Hi,
> I haven't try it, but it should work.
>
> Are your cmdline arguments ok? Shouldn't they be in different order?
> (May be the syntax has changed few days ago.) Try to run your ser_uri without arguments and you will see. And you can run "ser_uri show" to see what was added...
>
> Vaclav
>
> On Tue, May 16, 2006 at 04:47:24PM +0300, ?lker Aktuna (Koç.net) wrote:
> > Hi,
> >
> > Is this something that nobody has tried yet ? Or is it impossible ?
> > If it's easy can someone tell me how to use it ?
> >
> > thanks,
> > ilker
> >
> > ________________________________
> >
> > From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org]
> > On Behalf Of ?lker Aktuna (Koç.net)
> > Sent: Tuesday, May 16, 2006 11:45 AM
> > To: serusers(a)lists.iptel.org
> > Subject: [Serusers] How to add and use uri
> >
> >
> >
> > Hi,
> >
> > I add an extra uri to a user with ser_uri command:
> >
> > ./ser_uri add 200000900568888885 0202(a)sip.test.net
> >
> > When 200000900568888885 registers to ser I can call him by dialing
> > 200000900568888885(a)sip.test.net Then I dial 0202(a)sip.test.net from my sip client but it fails at the lookup("location") .
> > What should I add to the configuration to lookup the uris to find the location of the user ?
> >
> > Thanks,
> > ilker
> >
> >
> >
> > C "-//W3C//DTD HTML 4.0 Transitional//EN"> Hi,
> >
> > Is this something that nobody has tried yet ? Or is it impossible ?
> > If it's easy can someone tell me how to use it ?
> >
> > thanks,
> > ilker
> >
> > ________________________________
> >
> > From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org]
> > On Behalf Of ?lker Aktuna (Koç.net)
> > Sent: Tuesday, May 16, 2006 11:45 AM
> > To: serusers(a)lists.iptel.org
> > Subject: [Serusers] How to add and use uri
> >
> >
> >
> > Hi,
> >
> > I add an extra uri to a user with ser_uri command:
> >
> > ./ser_uri add 200000900568888885 0202(a)sip.test.net
> >
> > When 200000900568888885 registers to ser I can call him by dialing
> > 200000900568888885(a)sip.test.net Then I dial 0202(a)sip.test.net from my sip client but it fails at the lookup("location") .
> > What should I add to the configuration to lookup the uris to find the location of the user ?
> >
> > Thanks,
> > ilker
<http://387555.sigclick.mailinfo.com/sigclick/060F060D/04054D07/03054D0A/157…>
_____________________________________________________________________________________________________________________________________________
Bu e-posta mesaji kisiye ozel olup, gizli bilgiler iceriyor olabilir. Eger bu e-posta mesaji size yanlislikla ulasmissa, icerigini hic bir sekilde kullanmayiniz ve ekli dosyalari acmayiniz. Bu durumda lutfen e-posta mesajini kullaniciya hemen geri gonderiniz ve tum kopyalarini mesaj kutunuzdan siliniz. Bu e-posta mesaji, hic bir sekilde, herhangi bir amac icin cogaltilamaz, yayinlanamaz ve para karsiligi satilamaz. Bu e-posta mesaji viruslere karsi anti-virus sistemleri tarafindan taranmistir. Ancak yollayici, bu e-posta mesajinin - virus koruma sistemleri ile kontrol ediliyor olsa bile - virus icermedigini garanti etmez ve meydana gelebilecek zararlardan dogacak hicbir sorumlulugu kabul etmez.
This message is intended solely for the use of the individual or entity to whom it is addressed , and may contain confidential information. If you are not the intended recipient of this message or you receive this mail in error, you should refrain from making any use of the contents and from opening any attachment. In that case, please notify the sender immediately and return the message to the sender, then, delete and destroy all copies. This e-mail message, can not be copied, published or sold for any reason. This e-mail message has been swept by anti-virus systems for the presence of computer viruses. In doing so, however, sender cannot warrant that virus or other forms of data corruption may not be present and do not take any responsibility in any occurrence.
_____________________________________________________________________________________________________________________________________________
I'm trying to install serweb on Linux Suse 10 with apache2 , php , PEAR ,
PECL Runkit installed but when I call the page
http://host_name/serweb/user/index.php
I get the following error :
Fatal error: Undefined class name 'errorhandler' in
/srv/www/htdocs/serweb/application_layer/page_controler.php on line 102
What can I do ?
I've got crazy trying to understand what is wrong ...!
Thanks
Greetings,
I'm new to this list so I don't know whether this should be here or on
the developer's list.
I've been running a test and come across a problem. I have three phones
and the SER proxy. Two of the phones are softphones, the third is an
ATA. The ATA is at 192.168.1.3, and the two softphones are at
192.168.1.4 and 192.168.1.5. SER is at 192.168.1.7.
In the test, 192.168.1.3 and 192.168.1.4 register with the SER as AOR
'100'. 192.168.1.5 then make a call to sip:100@192.168.1.7. The INVITE
is forked properly however there is some strange behavior with the ACK
handling. It appears that no matter which of the phones answers, the
ACK is always sent to the first phone to have registered for the AOR,
whether that was the phone that answers or not.
I have included an Ethereal trace file that illustrates this behavior.
If you graph the VoIP call you can clearly see this situation occuring.
You should be able to load this file directly into Ethereal.
I would be interested in anyones thoughts on whether this is a bug or
not in SER or something else.
Thanks,
FM
Dear all,
I'm testing OpenSER with mediaproxy and I want to force the use of
mediaproxy in every situation (not only when one of the users is behind
a NAT); for this reason I have modified the attached configuration,
starting from features-callfwd.5.0.cfg by ONSip.
I am experiencing the 3 following situations:
1. Caller is PUBLIC, called is PUBLIC.
RTP stream passes through mediaproxy (I verified with tcpdump)
2. Caller is PUBLIC, called is PRIVATE (NATed)
RTP stream from PUBLIC to PRIVATE is direct, from PRIVATE to PUBLIC
passes through mediaproxy
3. Caller is PRIVATE, called is PRIVATE
RTP stream is direct in both ways, no media proxy usage.
This behaviour is somehow weird... do you have any idea of what could be
the reason? I have tried to manipulate OpenSER configuration but I got
no behaviour change.
Thanks in advance for your help!
--
Marco Meinardi <m.meinardi(a)reteitaly.com>
ReteItaly S.r.l.
www.reteitaly.com
_____________________________________________
C.so Svizzera, 185 - 10149 Torino - Italy
Tel. +39 011 7767694 - Mobile +39 335 7878604
Fax +39 011 746179
_____________________________________________
[...]
modparam("auth_db|permissions|uri_db|usrloc|acc|domain",
"db_url", "postgres://openser:openser@localhost/openser")
modparam("auth_db", "calculate_ha1", 1)
modparam("auth_db", "password_column", "password")
modparam("nathelper", "rtpproxy_disable", 1)
modparam("nathelper", "natping_interval", 0)
modparam("mediaproxy","natping_interval", 30)
modparam("mediaproxy","mediaproxy_socket", "/var/run/mediaproxy.sock")
modparam("mediaproxy","sip_asymmetrics","/usr/local/etc/ser/sip-clients")
modparam("mediaproxy","rtp_asymmetrics","/usr/local/etc/ser/rtp-clients")
modparam("usrloc", "db_mode", 1)
modparam("registrar", "nat_flag", 6)
modparam("rr", "enable_full_lr", 1)
modparam("tm", "fr_inv_timer", 27)
modparam("tm", "fr_inv_timer_avp", "inv_timeout")
modparam("permissions", "db_mode", 1)
modparam("permissions", "trusted_table", "trusted")
modparam("avpops", "avp_url", "postgres://openser:openser@localhost/openser")
modparam("avpops", "avp_table", "usr_preferences")
modparam("acc", "log_level", 1)
modparam("acc", "log_flag", 1)
modparam("acc", "db_flag", 2)
modparam("acc", "db_missed_flag", 3)
route {
# -----------------------------------------------------------------
# Sanity Check Section
# -----------------------------------------------------------------
if (!mf_process_maxfwd_header("10")) {
sl_send_reply("483", "Too Many Hops");
return;
};
if (msg:len > max_len) {
sl_send_reply("513", "Message Overflow");
return;
};
# -----------------------------------------------------------------
# Record Route Section
# -----------------------------------------------------------------
if (method=="INVITE" && client_nat_test("3")) {
# INSERT YOUR IP ADDRESS HERE
record_route_preset("<MY OPENSER PBULIC IP>:5060;nat=yes");
} else if (method!="REGISTER") {
record_route();
};
# -----------------------------------------------------------------
# Call Tear Down Section
# -----------------------------------------------------------------
if (method=="BYE" || method=="CANCEL") {
setflag(2);
end_media_session();
};
# -----------------------------------------------------------------
# Loose Route Section
# -----------------------------------------------------------------
if (loose_route()) {
route(1);
return;
};
# -----------------------------------------------------------------
# Call Type Processing Section
# -----------------------------------------------------------------
setflag(3);
if (!is_uri_host_local()) {
if (is_from_local() || allow_trusted()) {
route(1);
} else {
sl_send_reply("403", "Forbidden");
};
return;
};
if (method=="CANCEL") {
route(1);
return;
} else if (method=="INVITE") {
route(3);
return;
} else if (method=="REGISTER") {
route(2);
return;
};
lookup("aliases");
if (uri!=myself) {
route(1);
return;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
return;
};
route(1);
}
route[1] {
# -----------------------------------------------------------------
# Default Message Handler
# -----------------------------------------------------------------
t_on_reply("1");
setflag(2);
if (!isflagset(8)) {
setflag(8);
log(1,"Uso Media Proxy");
use_media_proxy();
};
if (!t_relay()) {
if (method=="INVITE" || method=="ACK") {
end_media_session();
};
sl_reply_error();
};
}
route[2] {
# -----------------------------------------------------------------
# REGISTER Message Handler
# -----------------------------------------------------------------
sl_send_reply("100", "Trying");
if (!search("^Contact:[ ]*\*") && client_nat_test("7")) {
setflag(6);
fix_nated_register();
force_rport();
};
if (!www_authorize("","subscriber")) {
www_challenge("","0");
return;
};
if (!check_to()) {
sl_send_reply("401", "Unauthorized");
return;
};
consume_credentials();
if (!save("location")) {
sl_reply_error();
};
}
route[3] {
# -----------------------------------------------------------------
# INVITE Message Handler
# -----------------------------------------------------------------
if (!allow_trusted()) {
if (!proxy_authorize("","subscriber")) {
proxy_challenge("","0");
return;
} else if (!check_from()) {
sl_send_reply("403", "Use From=ID");
return;
};
consume_credentials();
};
if (client_nat_test("3")) {
setflag(7);
force_rport();
fix_nated_contact();
};
lookup("aliases");
if (uri!=myself) {
route(1);
return;
};
if (avp_db_load("$ruri/username", "s:callfwd")) {
setflag(22);
avp_pushto("$ruri", "s:callfwd");
route(6);
return;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
return;
};
if (avp_db_load("$ruri/username", "s:fwdbusy")) {
if (!avp_check("s:fwdbusy", "eq/$ruri/i")) {
setflag(26);
};
};
if (avp_db_load("$ruri/username", "s:fwdnoanswer")) {
if (!avp_check("s:fwdnoanswer", "eq/$ruri/i")) {
setflag(27);
};
};
t_on_failure("1");
route(1);
}
route[6] {
# --------------------------------------------------------------------
# Call Forwarding Reply Route Handler
#
# This must be done as a route block because sl_send_reply() cannot be
# called from the failure_route block
# --------------------------------------------------------------------
lookup("aliases");
if (!isflagset(22)) {
append_branch();
};
if (uri!=myself) {
route(1);
return;
};
if (!lookup("location")) {
sl_send_reply("404", "User Not Found");
};
route(1);
}
onreply_route[1] {
if ((status=~"(180)|(183)|2[0-9][0-9]")) {
if (!search("^Content-Length:[ ]*0")) {
use_media_proxy();
};
};
if (client_nat_test("1")) {
fix_nated_contact();
};
}
failure_route[1] {
if (t_check_status("487")) {
return;
};
if (isflagset(26) && t_check_status("486")) {
if (avp_pushto("$ruri", "s:fwdbusy")) {
avp_delete("s:fwdbusy");
resetflag(26);
route(6);
return;
};
};
if (isflagset(27) && t_check_status("408")) {
if (avp_pushto("$ruri", "s:fwdnoanswer")) {
avp_delete("s:fwdnoanswer");
resetflag(27);
route(6);
return;
};
};
end_media_session();
}
Thanks for responding.
I was referring to the SIP server interface defined with a non-routable
class A (10.x.x.x) IP address for example. The PIX firewall is configured
with a static NAT translation (12.x.x.x <--> 10.x.x.x) and an access control
list which directs traffic destined for port 5060 outside global address to
the NAT'ed inside address.
The problem I have is when UA1 sends an invite to UA2. After the proxy sends
the invite to UA2 the "Record Route" address is the local IP address
(10.x.x.x). In result, both UA1 and UA2 never receive a BYE message. Please
help.
~Alan
--------------------------------------------------------------------------
| SER External | UA2 | UA1 | SER Internal
| 12.xxx.xxx.xx | 192.168.215.103 | 151.xxx.xxx.xx | 10.181.0.35
| | | |
|INVITE SDP | | |
|------------------>| | |
| | | |
| 100 Trying| | |
|<------------------| | |
| | | |
| 180 Ringing| | |
|<------------------| | |
| | | |
| 200 Ok SDP| | |
|<------------------| | |
| |RTP | |
| |------------------>| |
| | | |
| 200 Ok| | |
|<------------------| | |
| 200 Ok| | |
|<------------------| | |
| 200 Ok| | |
|<------------------| | |
| |RTP | |
| |------------------>| |
| |BYE | |
| |-------------------------------------->|
| |BYE | |
| |-------------------------------------->|
| |BYE | |
| |-------------------------------------->|
-----Original Message-----
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On
Behalf Of Michael Grigoni
Sent: Thursday, May 11, 2006 3:50 AM
To: serusers(a)lists.iptel.org
Subject: Re: [Serusers] Running SER Server behind NAT
Alan wrote:
> Is it possible to run SER SIP server behind a NAT? If so, what type of >
configuration changes am i looking at? My current scenario is as > follows.
>
>
> Internet <-----> Pix (12.x.x.x translates to 10.x.x.x) <----> SIP Server
We have been running ser 0.8.99-dev19 (sparc/openbsd) for more than a year
on NAT; our solution required ser to run on the NAT border router so that it
could service the public net interfaces and the internal NAT'ed interfaces.
We use rtpproxy on the same box. I have not actively watched the lists for
any developments involving running it on a host only on a private ip space.
I don't know of a ser port to run on the Pix. All external UAs so far have
been on public ip addresses; we haven't yet dealt with the issue of external
UAs behind NAT (perhaps a STUN solution would work, or a VPN where
feasible).
Michael Grigoni
Cybertheque Museum
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers