Le lundi 24 octobre 2005 à 14:06 +0200, Samuel Osorio Calvo a écrit :
> lookup("aliases");
>
> will do the job for you if aliases is the name of the table containing the alias bindings (by default it will be).
>
I had understood this, but the problem here is that I need the reverse:
the original request uri contains the username and I need to rewrite it
into the user alias.
Example, SER receives INVITE dsandras @ gnomemeeting.net, and I want
to use rewriteuri to rewrite the INVITE into INVITE 600001 @
gnomemeeting.net.
Is that possible?
--
_ Damien Sandras
(o- GnomeMeeting: http://www.gnomemeeting.org/
//\ FOSDEM 2005 : http://www.fosdem.org
v_/_ H.323 phone : callto:ils.seconix.com/dsandras@seconix.com
Hi,
A newbie question:
Is there a way for OpenSER to use SIP headers (other than the URI
set) that have been modified/processed by an external command
(exec_dst, exec_msg)?
Reading the documentation and mailing list archives revealed some
questions similar to mine but no answer.
The problem is: Delegate the change of one or more SIP message
headers (or the whole SIP message) to an external application via
exec module.
Two straight-forward solutions:
1. exec_rmsg() - for "replace message". A merge of the functionality
of exec_dst() and exec_msg(), i.e. OpenSER uses the output of
exec_rmsg(command) to replace the current SIP message. This is
imho an extremly flexible solution but slightly difficult to
implement as it requires at least parsing the command's output
- similar to a message received by OpenSER.
2. The command executed by exec_msg() can modify the environment
variables SIP_HF_<hf_name> and OpenSER reuses these values after
the exec() returned control to SER.
Setvars could be used to switch between the current, read-only
meaning of env-variables (e.g., modparam("exec", "setvars", 1))
and a read-write behavior (e.g. modparam("exec", "setvars", 2).
This solution does not require any special handling except that
OpenSER must read back the content of all environment variables
which were passed to the command. Probably quite easy to implement
but has the drawback that no new header fields can be added.
Imho no major limitation as users can add their (dummy) header
fields prior to invoking the command via exec()
Or is there any other existing/planned procedure for SER to use the
output of external commands for rewriting an existing SIP message.
tia
best regards
--Joachim
Hi,
We'd like to force the following SIP INVITE routing
scenario: UA1->P1->P2->R->P2->P1->UA2.
Unfortunately the Route is not known apriori and
must be built dynamically. P1 knows the Route from
P1 to R, R knows the Route from R to P1/UA2.
The INVITE sent by UA1 is loosely routed to R based
on the Route (Route: <sip:P2;lr>,<sip:R;lr>)
that is added by P1 to UA1's INVITE. This works.
The message arrives correctly to the registrar, Route
header contains Route: <sip:R;lr> as it should.
What we'd like to do:
1) Lookup the contact (lookup("location");)
2) Rewrite the Route field to the value
Route: <sip:P2;lr>,<sip:P1;lr> that is
stored by R in an AVP.
3) Forward the Invite on this route to UA2
Can someone please give some hints on how this
is typically done in OpenSER?
Although we rewrite the Invite's Route header field
(new value stored in an AVP) at the Registrar,
loose_route() does not work. We tried several
alternatives including re-writing the Route header,
pushing hard-coded strings into the Route, etc. but
none of these solutions does what we want.
What does work is if R self-forwards the Invite and
only then adds a new Route header. Apparently
loose_route() in R acts on the route header of the
incoming INVITE - if present - and ignores route header
changes done within the script.
Thanks in advance
--Joachim
Hi all,
I need to parse the header field Referred-By, can any one tell
me. How can I do this? For example, which files I must to edit because the
SER-0.9.0 can NOT parse this header field.
Thanks in advance,
Ing. Francisco Talavera
Dpto. Investigación y Desarrollo
Conexión S.A.
Hi,
While trying to implement prepaid solution using SER, I decided
to go be a intuitive approach which is as follows.
-When the user registers, he is placed in a "voip" groups table
of ser (or radius server database), i.e he can make only pc-to-pc calls.
- Later , or otherwise, when the user registers, he is shifted
to a "pstn" groups table of ser , i.e noew he can make only pc-to-pstn
calls.
-Henceforth, whenever the user logins and tries to make pstn
call, the call is approved only if group_radius_is_user_in(username)
succeds, else the call rejected by SER.
-To restrict the user from making pstn calls when his credits
are zero (or beyond a threshold) , a dedicated cron job is scripted to move
users from "pstn" group to "voip" when their
account_cerdit=0.
Am I right in using this approach, or are there any foreseeable problems
which I might be overlooking.
Thanks.
Regards,
Ashutosh Kumar
hi all,
I compiled the latest version od openser from cvs head. I've set the acc. I've loaded module after tm and mysql module. I added the db_url parameter, db_flag, db_table_acc, db_extra, radius_config, service_type and radius_flag.
I've compiled acc with both mysql and radius support.
But while starting openserctl I get the following error:
Oct 27 10:41:06 localhost /usr/local/sbin/openser[6575]: ACC - initializing
Oct 27 10:41:06 localhost /usr/local/sbin/openser[6575]: ERROR: acc: can't get code for the Sip-Method attribute
Oct 27 10:41:06 localhost /usr/local/sbin/openser[6575]: init_mod(): Error while initializing module acc
can somebody pls help me with error as I need accounting in both radius and acc.
I am eagerly waiting for the 1.0 release. Its tommorow right!!!!
jayesh
---------------------------------
Enjoy this Diwali with Y! India Click here
Hi Guys!
I just would like to share that I was able to get a working setup using SER
as Softswitch, Asterisk as PSTN gateway and SIPROXD on my NAT Router.
SIPROXD is an open source ALG and it effectively handles sip nat traversals.
With it I dont have to run a seperate mediaproxy. When making calls from SIP
UA to PSTN, RTP is as below:
UA---NAT/SIPROXD---ASTERISK
for 2 UA behind the same NAT:
UA1--NAT---UA2
and for 2 UA behind different NATs:
UA1--NAT1----NAT2---UA2
Thus there is less latency on signals and less traffic on SER. My question
is, from the experience of other guys here, what do you think is the
drawback or advantages of using SIPROXD together with SER to solve SIP NAT
issues compared to other methods like using mediaproxy and rtpproxy?Will I
still be able to do other SER features like accounting?
Thanks!
_jeff
Hi all,
I am working with asterisk to active voicemail for ser.
I am newbie for it.
So can you give me an example of ser.cfg for do that?
Thank you very much for your instruction.
_____
From: administrator [mailto:administrator@hellasfon.com]
Sent: Wednesday, October 26, 2005 11:49 AM
To: 'b2bua(a)vovida.org'
Subject: EmbeddedObj.o Make error
Hello everybody,
I am trying to install b2bus from cvs and I get the following error:
make[1]: Leaving directory `/root/vocal/sip/sipstack'
make[1]: Entering directory `/root/vocal/sip/sipstack'
g++ -Wall -fPIC -Wno-deprecated -D_REENTRANT -DUSE_PTHREADS -g
-I../../build -I../../build/../sdp/sdp2 -I../../build/../util
-I../../build/../util/threads -I../../build/../util/logging
-I../../build/../util/crypto -I../../build/../util/statistics
-I../../build/../util/snmp -I../../build/../util/signals
-I../../build/../util/behavior -I../../build/../util/io
-I../../build/../util/services -I../../build/../util/transport
-I../../build/../util/config -I../../build/../util/dnssrv
-I../../build/../util/deprecated -I../../build/../util/adt
-I../../build/../contrib/libxml2.Linux.i686
-I../../build/../contrib/libxml2.Linux.i686/include/libxml
-I../../build/../contrib/libxml2.Linux.i686/include
-DVOCAL_USE_DEPRECATED -DVOCAL_USING_PENTIUM -DOLD_PROV -c -o
obj.debug.Linux.i686/EmbeddedObj.o EmbeddedObj.cxx
BaseUrl.hxx:146: error: specialization of βtemplate<class _Key> struct
__gnu_cxx::hashβ in different namespace
/usr/lib/gcc/i386-redhat-linux/4.0.1/../../../../include/c++/4.0.1/ext/hash_
fun.h:71: error: from definition of βtemplate<class _Key> struct
__gnu_cxx::hashβ
EmbeddedObj.cxx: In member function βData
Vocal::EmbeddedObj::doReverseEscape(const std::string&)β:
EmbeddedObj.cxx:213: warning: comparison between signed and unsigned integer
expressions
make[1]: *** [obj.debug.Linux.i686/EmbeddedObj.o] Error 1
make[1]: Leaving directory `/root/vocal/sip/sipstack'
make: *** [sip] Error 2
I user SER(0.9.4) and freeRadius (latest) on Fedora Core 4.
Please Help ASAP.
Thank you in advance
Yiannis Marios
I'm trying to come up with a query on the acc table that will return
all INVITES that don't have a matching BYE. I'm basically looking for
sessions that are currently open.
- Daryl