Hi Juha,
I have been watching the development of the LCR Module and I would like
to use it.
I have searched through IPTEL, Google, and the email list archives and
failed to find any hint of where to find it.
Where do I find documentation and the module it's self?
Thanks
Stephen Kingham
--
Stephen Kingham, MIT, BSc, E&C Cert
Project Manager and Consulting Engineer
mailto:Stephen.Kingham@aarnet.edu.au
Telephone +61 2 6222 3575 (office)
+61 419 417 471 (mobile)
sip:Stephen.Kingham@aarnet.edu.au
Voice and Video over IP
for The Australian Academic Research Network (AARNet)
http://www.aarnet.edu.au
Simith,
Not easy to tell what the problem can be. You haven't included your
ser.cfg. If you are new to ser, I would recommend that you download the
Getting Started document from http://onsip.org/ and the configuration file
package with all the ser.cfg example files. Those should get you started.
g-)
Simith Nambiar wrote:
> Hi Greger,
>
> Thanks for the response, I don't know you, but i have been seeing your
> response
> on the mailing list for Serusers, but my post is never landing there
> , which is my problem.
>
> I subscribed yesterday, still my requests are pending "Moderator
> approval" , i would have been happy
> if someone could help me, in running SER, i have an Error coming from
> route.c pasted below,
> It is from fix_rls --> fix_action , i don't understand what they are
> doing there in code, as i'am new to SER.
>
> Listening on
> udp: 127.0.0.1 [127.0.0.1]:5070
> udp: 10.10.100.44 [10.10.100.44]:5070
> tcp: 127.0.0.1 [127.0.0.1]:5070
> tcp: 10.10.100.44 [10.10.100.44]:5070
> Aliases:
> tcp: linuxdemo:5070
> tcp: linuxdemo.indts.com:5070
> tcp: localhost:5070
> tcp: localhost.localdomain:5070
> udp: linuxdemo:5070
> udp: linuxdemo.indts.com:5070
> udp: localhost:5070
> udp: localhost.localdomain:5070
>
> WARNING: no fork mode and more than one listen address found(will
> use only the the first one)
> stateless - initializing
> 0(0) Maxfwd module- initializing
> textops - initializing
> ERROR: error -478 while trying to fix configuration
>
>
>
> Something wrong with the config file ?
> As my mails are not reaching the list, can you plz forward this or
> offer any help that might fix my problem !
> Thanks for your time.
>
>
> Cheers.
> Simith
>
>
>
>
>
> -----Original Message-----
> From: Greger V. Teigre [mailto:greger@teigre.com]
> Sent: Wednesday, May 18, 2005 11:42 AM
> To: Simith Nambiar
> Subject: Re: [Serusers] More on load balancing: LVS + SRVs, SER +
> Asterisk
>
>
> I'm not sure if I know you and your problem? Posting on serusers is
> your best hope to get help. Be specific and write short summary at
> the top what the problem is, then add more info further below. Most
> often a post that is
>
> not answered is because it's too much work to try to decipher what the
> problem can be.
> g-)
>
> Simith Nambiar wrote:
>> Hi Greger,
>> I feel you are busy , please can you give me some id,
>> that i can write to to fix my problem,
>> I mean the moderator or someone, i'am badly in ned of a solution, as
>> i do not Ser very well, i'am not able to fix it on my
>> own.
>>
>> Maybe once i study the code, i can fix it myself, until then i just
>> wanted to see it up and running and test it for some
>> funcionality, hope u understand.
>>
>> Please help !
>>
>> cheers.
>> Simith
>>
>>
>> -----Original Message-----
>> From: Greger V. Teigre [mailto:greger@teigre.com]
>> Sent: Wednesday, May 18, 2005 11:12 AM
>> To: Pietro Ravasio; serusers(a)lists.iptel.org
>> Subject: Re: [Serusers] More on load balancing: LVS + SRVs, SER +
>> Asterisk
>>
>>
>> Pietro Ravasio wrote:
>>> Anyway, at the moment "mixing Asterisk with SER" is not my major
>>> concern, I'm pretty worried about trying to use a particular
>>> outbound proxy for calls to a NATed UA:
>>>
>>>> I think that the dispatcher module of ser can be used
>>>> cheaper instead of using LVS, which will not give you call-id
>>>> persistence anyway. AFAIU, your scenario is quite similar to
>>>> what I described in this thread:
>>>> http://lists.iptel.org/pipermail/serusers/2005-May/019118.html
>>>> Just a different implementation...
>>>
>>> Yes, I now agree with you in using this approach rather than
>>> "multiple internal domains" one. The only things I'd like to modify
>>> are: - storing location on every message, not only on REGISTER, in
>>> case a ser dies and lvs udp persistence sends the next UA message to
>>> another SER (for instance my Sipura phone sends a bunch of NOTIFY
>>> messages in order to keep NAT open, if a ser dies and if phone is
>>> already authenticated, I want to update "its SER")
>>
>> I'm not sure if I like the idea of doing an sql write for every
>> single message. That's will be a massive performance hit. But the
>> idea is good. What about doing LVS NAT?
>>
>>> - using only one table for every SER storing in a different column
>>> the proxy (taken from dst_ip) who has handled the message. This way
>>> I don't have to preprovision all SER instances in all ser.cfg
>>> routing logics. At this point:
>>
>> But then you have to modify SER, which is back to where we started:
>> 1. If you have to modify SER to do load balancing, what would be the
>> best way to do it?
>> 2. The answer is most likely: Do it in a module like dispatcher, but
>> add call-id persistence
>> 3. Doing level 7 load balancing can only be effective in the kernel
>>
>> So why not focus your attention on creating call-id persistence in
>> LVS? ;-)
>>
>>> .) if I use a B2B user agent in order to handle NAT (for instance
>>> asterisk) - I'd send INVITE to my B2B UA
>>> (t_relay_to_udp("b2bua_lvs_virtual_ip")) with rewritten Contact:
>>> field with the IP number of the (outbound) SER UAB has
>>> registered/sent its latest message to (taken from DB)
>>>
>>> ..) otherwise, in a "pure SER" environment,
>>> - I'd send INVITE directly to the SER proxy which IP:port is taken
>>> from DB with the same logic as above
>>
>> Yes, but how do you know the server just went down and you still
>> haven't updated the IP:port of the UA? I assume you will use
>> t_replicate and save_memory to make sure that all servers have the
>> updated registration info
>>
>> in memory? (as DB writethrough works fine, but other ser's will not
>> load the
>>
>> new location upon receiving an INVITE) You probably have to do
>> t_replicate for EVERY message to update the IP:port of the UA and
>> you're into massive overload of SIP messages (used by t_replicate).
>>
>>> Using only one location table could be useful in order to create a
>>> flexible routing logic: if the server taken from DB is not online
>>> anymore, send message to another one (randomly chosen), hoping that
>>> UAS is not behind nat. This logic could be inserted in B2BUA dialing
>>> plans or in ser.cfg.
>>
>> I don't like the word "hoping"...
>>
>>>> If it's work, it's a workaround. No better or worse than other
>>>> workarounds... g-)
>>>
>>> At the moment I start thinking that any technique that tries to bind
>>> an outbound SER for all calls to a set of user agents, is going to
>>> be a workaround... Am I wrong? :-/
>>
>> No, I don't think so. That is trying to do something at the
>> application level that people have long figured out is better done at
>> lower levels... In fact, I believe the simplest solution would be to
>> make sure that LVS can select ANY SER for load balancing and use LVS
>> NAT (which is quite scalable and is the way Cisco does it). The
>> simplest way to modify ser for this would be to make sure that all
>> lookup("location") calls actually make an sql
>>
>> read. If each ser instance flushes each save to db and a shared sql
>> cluster
>>
>> is used as backend, you are good to go.
>>
>> The other way is to implement call-id persistence in IPVS (LVS' load
>> balancer). I like this better, because you do it in kernel mode and
>> don't add a whole lot of new DB reads...
>>
>> g-)
>>
>> _______________________________________________
>> Serusers mailing list
>> serusers(a)lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>>
>> ______________________________________________________________________
>> This email has been scanned via a message filtering facility.
>> If you have any issues with your email, please contact the IT Dept.
>
>
> ______________________________________________________________________
> This email has been scanned via a message filtering facility.
> If you have any issues with your email, please contact the IT Dept.
Brain strain please help!!!!!
I have this SER - MYSQL -SERWEB
When I place setflag(3) or setflag(1)
Example:
setflag(3);
acc_db_request("Missed Call", "missed_calls");
I note when I place a call to a user that is not online the missed_calls
table is populated with:
| "8838212361" <sip:8838212361@***.***.***.***>;tag=SxCH3s2YXJCUGNdq |
"8838212349" <sip:8838212349@***.***.***.***> | Missed Call
| INVITE | sip:8838212349@***.***.***.***|
sip:8838212349@***.***.***.***| sip:8838212361@***.***.***.***|
sip:8838212349@***.***.***.***| waLKvXL2KBr8oAuS(a)***.***.***.*** | n/a
| n/a | SxCH3s2YXJCUGNdq | n/a | 2005-05-18 07:06:08 | 2005-05-18
17:06:08 |
The two n/a are columns username & domain . When I log in as the user in ser
web the missed the call the data does not display. I figure this is because
of the fields n/a. Anyone have any ideas on what I have done wrong
I have checked the table in mysql and noted the fields are set to "not
null" this should mean that the fields are never empty, were does the n/a
come from and why did the fields not populate with the correct data?
Hello,
I was very interested in the outbound proxy functionality discussed last
december on the serdev list:
has anyone seen any implementations come out ?
Thanks in advance,
Giuseppe
On 04-12 15:12, Adrian Georgescu wrote:
> I think there should be no "sigle" outbound proxy out there, if it is
> it becomes just another single point of failure. The ideal solution
> would provide a shared user-location database between multiple servers >
which would all act as outbound-proxy for each call they serve and
> would enable NAT traversal only at the edges when and if necessary.
I think this is exactly what Path is about, you can have different
outbound proxy for each registered contact.
> A first step in this direction would be to store more information in
> the location table like the address of the server that handled the
> registration and both NAT ed and not NAT-ed contacts.
You mean the destination IP of the REGISTER request so that some other
server elected when the original server fails can select which IP to use
to get the INVITE through the NAT, right ? That's on my todo list
(with quite high priority).
The other part -- NATed and non-NATed contact -- is already
implemented. If you call fix_nated_register then the original Contact
value would be preserved and the source IP and port of the request
would be stored in the received column of location table (or can be
appended to the message as ;received parameter of the Contact if the
registrar is not co-located with the NAT-enabled proxy).
The lookup function would put the original Contact into the
Request-URI but the request would be forwarded to the IP and port in
received parameter. For the scenario with decoupled outbound proxies
and registrar (and also if Path is used) we would need to communicate
the IP and port of the NAT to the outbound proxy instead -- Route
header field could be used for this, for example.
Jan.
> Based on this
> information depending on the call flow the SIP farm members should
> route the call to the member that serves the NAT-ed client and should
> expire only locations served locally.
>
> I am somewhere between Jan and Klaus opinions working on a similar
> concept, it will be nice to see some implementations available to
> compare them.
>
> Adrian
>
> On Dec 4, 2004, at 2:58 PM, Jan Janak wrote:
>
> >On 04-12 13:24, Klaus Darilion wrote:
> >>
> >>
> >>Jan Janak wrote:
> >>>I like 1) more than 2). Support for Path header field could be also
> >>>useful for other stuff then NAT traversal. We will definitely accept
> >>>that into the main tree if you implement it.
> >>
> >>Uuh, you're right - someone has to implement it! :-)
> >
> > Yeah :-).
> >
> >>> And we could do something like:
> >>> if (save("location")) {
> >>> save_path();
> >>> copy_path_to_reply();
> >>> sl_send_reply("200", "OK");
> >>> };
> >>>
> >>> That would allow us to keep this logic separated from registrar.
> >>>- The path vector should be probably stored separately -- outside the
> >>> location table and outside usrloc. In the script we could do
> >>> something like:
> >>>
> >>> lookup("location");
> >>> lookup_path("path_table");
> >>>
> >>> Function lookup_path would lookup the path vector and add it to the
> >>> message as the pre-loaded route set.
> >>
> >>This would ensure to do not influence the registrar und location
> >>module,
> >>but I think implementation would be much more easier if we include it
> >>into the registrar module and enable it with a configuration parameter
> >>(usepath=0/1). Also from the database schema it makes sense to include
> >>it into the location table. There is a 1:1 relation between the path
> >>and
> >>the location (and the path value may be NULL).
> >
> > I proposed separate table because, in my opinion, it is easier to
> > implement. Moreover, if you keep it separately -- independent of
> > usrloc, you can retrieve the path vector even if you do not use user
> > location to get the next hop URI (PSTN gateways, static
> >configuration,
> > path vector configured by users, and so on).
> >
> >>>- One problem here might be the limitation of SER to execute the
> >>>routing
> >>> logic only for one branch only. That means it would not be possible
> >>>to
> >>> lookup different path vector for different contacts. I think that
> >>>this
> >>> problem can be ignored at the beginning, SER would be simply limited
> >>> to using one path vector per AOR.
> >>
> >>That's a problem. In case for 3GPP this might be negligible (there is
> >>always only 1 handset registered). But for typical VoIP this won't
> >>work.
> >>E.g. I have to phones registered: one at home, one at work, and both
> >>are
> >>behind NAT and use an outbound proxy.
> >>
> >>This limitation can be bypassed by using solution 2 - as the "route"
> >>will be hidden in the contact uri. Furthermore, solution 2 would not
> >>requrie changes to the main proxy and therefore testing and rollout
> >>would be much easier.
> >>
> >>I also think solution 2 would be easier to implement, but still
> >>solution
> >>1 would be a more generic solution.
> >
> > Yes, that's true. I think, however, that 1) is the right approach.
> >
> > Jan.
> >
> >_______________________________________________
> >Serdev mailing list
> >HYPERLINK "http://lists.iptel.org/mailman/listinfo/serdev"Serdev at
iptel.org
> >HYPERLINK
"http://lists.iptel.org/mailman/listinfo/serdev"http://lists.iptel.org/mailman
/listinfo/serdev
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.308 / Virus Database: 266.11.10 - Release Date: 13/05/2005
In December of 2002, there was a question about this error Message: Warning 392:
Nosiy feedback tells ..
The following was Jiri's answer:
"That is additional information on request processing: pid of answering process,
source address from which a request came, incoming URI, outgoing URI and number
of via's in replied request. Good for troubleshooting. Anyone in a SIP path
sees better what is happening and can report it to SIP admin. Can be turned off
using sip_warning option, but I don't recommend doing so."
Can anybody please explain what exactly the noisy feedback is. It is obvious
that the feedback is coming from the SER server. I am able to register
successfully with the server. When I try dialing another registered user I
receive this warning and in the details get a 404 error message. The strange
thing is that the other registered person is able to dial and and am able to
receive his call.
Should the sequence of making a call through SER indicate dialing, ringing and
connected?
Has this sequence got anything to do with the Error code 392?
Any "light" appreciated
KOFI
At 09:47 PM 12/9/2002, Greg Fausak wrote:
>I am constantly seeing this warning:
>
>Warning: 392 216.87.128.67:5060 "Noisy feedback tells: pid=3961
req_src_ip=216.87.128.68 in_uri=sip:216.87.128.67 out_uri=sip:216.87.128.67
via_cnt==1".
>
>What does it mean???
>
>---greg
>_______________________________________________
>Serusers mailing list
>serusers(a)lists.iptel.org
>http://lists.iptel.org/mailman/listinfo/serusers
--
Jiri Kuthan http://iptel.org/~jiri/
--
Worrying Is Like Paying Interest On A Loan You Are Yet To Take
Be Happy! Don't Worry,
Patrick,
This is a bash script that externnotify executes
#!/bin/ash
#
# This script is called by Asterisk every time a voice mail is
# left for a subscriber. The CONTEXT, EXTENSION, and VM_COUNT
# are passed by Asterisk.
#
# All we need to do is update a file in /var/spool/asterisk/mwi
# to tell our cron job that we have to send a SIP NOTIFY message
# to a particular UA
#
# This file is referenced in /etc/asterisk/voicemail.conf
#
# NOTE: The $2 argument is passed in to this script in the
# following form: MAILBOX@DOMAIN
#
# example: 4075551212@default
#
MWI_DIR=/var/spool/asterisk/mwi/
if [ -n ${2} ] ; then
if /bin/touch ${MWI_DIR}/${2} ; then
exit 0
else
exit 1
fi
else
exit 2
fi
The following is executed in CRON every minute. This script actually
notifies the subscribers by sending NOTIFY messages to SER. Please
note that our asterisk is a modified version that stores mailboxes in
a directory hash, so you can modify this to fit your needs.
#!/bin/sh
# This script send the SIP NOTIFY message to UA. The NOTIFY message
# can either enable or disable the UA message indicator. The script
# looks for any file in $VM_HOME and creates the NOTIFY message
#
# The actual NOTIFY message is sent to the SIP proxy by the sipsak
# utilty. After the message is send we delete the processed file
# from VM_HOME so we don't keep resending the same message. Most
# UAs will periodically send a SUBSCRIBE message to the SIP proxy.
# When this occurs the SIP proxy will place a file in the location
# /var/spool/mwi/delay and a less frequent CRON job will process it.
VM_ROOT=/var/spool/asterisk/voicemail
VM_HOME=/var/spool/asterisk/mwi
SIP_SERVER=71.110.20.33
SIP_PORT=5060
SIP_FROM=vmserver
SIP_PASSWORD=heslo
DB_NAME=ser
DB_SERVER=10.255.237.18
DB_OPTIONS="--skip-column-names --connect_timeout=3"
DB_USER=ser
DB_PASSWORD=heslo
# Allow glob expansions to return NULL
shopt -s nullglob
# Sanity check that VM_HOME exists, warn if it does not
if [ ! -d $VM_HOME ] ; then
echo "Cannot chdir to VM_HOME, exiting"
exit 1
fi
for file in $VM_HOME/*
do
file=$( basename $file @default )
# The file existance check may seem redundant, but it is
theoretically possible
# for this script to take longer than 1 cron cycle to run, or
for it to be run
# by hand while another copy is running, so we really do need
this check.
if [ -e ${VM_HOME}/${file}@default ] && [ ${#file} -eq 10 ]; then
QUERY="SELECT subscriber.domain FROM subscriber,
location WHERE subscriber.username='$file' AND subscriber.username =
location.username LIMIT 1"
DOMAIN=`mysql ${DB_OPTIONS} -h ${DB_SERVER}
-u${DB_USER} -p${DB_PASSWORD} -e "$QUERY" ${DB_NAME}`
# If the MySQL call fails, then $DOMAIN will hold the
error message instead
if [ $? -ne 0 ] ; then
echo "Error connecting to MySQL: $DOMAIN"
exit 2
fi
if [ -n "${DOMAIN}" ]; then
MAILBOX=$VM_ROOT/default/${file:0:3}/${file:3:3}/${file:6:4}
# Sanity check that INBOX exists, warn if it does not
if [ ! -d ${MAILBOX} ]; then
echo "${MAILBOX} does not exist"
continue
fi
# Delete all messages with a zero length. If
the subscriber still
# has voice mail files in their INBOX after
this step then notify
# them even if the total is zero, which will
extinguish their MWI
for message in ${MAILBOX}/INBOX/*.gsm
do
if [ ! -s $message ]; then
GSM=`basename $message .gsm`
rm -f ${MAILBOX}/INBOX/$GSM.*
fi
done
TOTAL_MESSAGES=0
NEW_MESSAGES=0
OLD_MESSAGES=0
if [ -d ${MAILBOX}/INBOX ]; then
tmp=( $( echo ${MAILBOX}/INBOX/*.txt ) )
NEW_MESSAGES=${#tmp[*]}
else
NEW_MESSAGES=0
fi
if [ -d ${MAILBOX}/Old ]; then
tmp=( $( echo ${MAILBOX}/Old/*.txt ) )
OLD_MESSAGES=${#tmp[*]}
else
OLD_MESSAGES=0
fi
TOTAL_MESSAGES=$(($NEW_MESSAGES + $OLD_MESSAGES))
if [ "$NEW_MESSAGES" == "0" ]; then
HAS_NEW="no"
else
HAS_NEW="yes"
fi
CONTENT_LENGTH=$(( 34 + ${#HAS_NEW} +
${#NEW_MESSAGES} + ${#OLD_MESSAGES} ))
SEQUENCE=$( printf "%06d" $RANDOM )
(
cat <<-EOM
NOTIFY sip:${file}@${DOMAIN} SIP/2.0
From: <sip:${SIP_FROM}@${DOMAIN}>
To: <sip:${file}@${DOMAIN}>
Contact: <sip:${file}@${SIP_SERVER}>
Call-ID: ${SEQUENCE}@${SIP_SERVER}
CSeq: ${SEQUENCE} NOTIFY
Event: message-summary
Content-Type: application/simple-message-summary
Content-Length: ${CONTENT_LENGTH}
Messages-Waiting: ${HAS_NEW}
Voicemail: ${NEW_MESSAGES}/${OLD_MESSAGES}
EOM
) | /usr/bin/sipsak shoot -a ${SIP_PASSWORD} -s sip:${file}@${DOMAIN} -f -
if [ $? -ne 0 ] ; then
echo "sipsak error for $file"
fi
else
echo "DOMAIN is null for $file"
fi
else
if [ ${#file} -ne 10 ] ; then
echo "Extension was not 10 digits: '$file' (${#file})"
else
echo "Problem with file: ${VM_HOME}/${file}@default"
fi
fi
rm ${VM_HOME}/${file}@default
done
exit 0
On Tue, 1 Mar 2005 10:06:56 -0500, Patrick Baker
<patricksbaker(a)gmail.com> wrote:
> could you show me an example of the sipsak command for the cisco phone
> - I can then just make an agi that will call it after vm is left.
>
> Best regards,
>
> Patrick B
>
>
> On Tue, 1 Mar 2005 10:03:35 -0500, Java Rockx <javarockx(a)gmail.com> wrote:
> > Since the SIP UA is registered with SER you'll need to have Asterisk
> > send a NOTIFY message to the user by means of SER.
> >
> > So you can send the NOTIFY to SER with a <From:> header as asterisk
> > and the <To> / R-URI as the Cisco UA.
> >
> > FYI, we do this using sipsak to send the NOTIFY to ser. This is
> > triggered either using the externnotify parameter in the Asterisk
> > voicemail.conf file and by CRON for periodic MWI updates.
> >
> > Regards,
> > Paul
> >
> >
> > On Tue, 1 Mar 2005 09:53:43 -0500, Patrick Baker
> > <patricksbaker(a)gmail.com> wrote:
> > > Hello,
> > >
> > > I'm sure this may have been asked but, I just wanted clarify how this
> > > would be accomplished. I'm looking to have the MWI light on my cisco
> > > phone turn on when a message is left in VM.
> > >
> > > Here is my current situation:
> > >
> > > sip user -> ser -> asterisk
> > >
> > > Best regards,
> > >
> > > Patrick b.
> > >
> > > _______________________________________________
> > > Serusers mailing list
> > > serusers(a)lists.iptel.org
> > > http://lists.iptel.org/mailman/listinfo/serusers
> > >
> >
>
I am employing SER and Asterisk in my University and I was questioned
about the reason I am using SER and not only Asterisk.
What does SER do that Asterisk do not? What are the advantages of using SER?
Thanx,
Felipe Louback
--
"Do not pray for easylives; pray to be stronger men! Do not pray for
tasks equal to your powers; pray for powers equal to your tasks. Then
the doing of your work shall be no miracle, but you shall be a
miracle."
Phillips Brook
Hello,
I'm having problems with avpops module that looks to me
as a bug. I'm using Postgres as database backend.
Here's the table structure:
users=# \d usr_preferences
Table "ser.usr_preferences"
Column | Type | Modifiers
-----------+-----------------------------+----------------------------------------
uuid | character varying(64) | not null default ''::character varying
username | character varying(100) | not null default ''::character varying
domain | character varying(128) | not null default ''::character varying
attribute | character varying(32) | not null default ''::character varying
value | character varying(128) | not null default ''::character varying
type | integer | not null default 0
modified | timestamp without time zone | not null default now()
Indexes:
"usr_preferences_pkey" primary key, btree (attribute, username, "domain")
As you can see all fields defined as NOT NULL and there can't
be any NULL values.
Here's what I do in ser.cfg:
# -- avpops params --
modparam("avpops", "avp_url", "postgres://SERDB_USER:SERDB_PW@DBHOST/users")
modparam("avpops","avp_aliases","alias_p=I:100;alias_s=I:101")
modparam("avpops","avp_table","usr_preferences")
route {
if (!avp_db_load("$ruri","$alias_p/usr_preferences")) {
log(1,"avp not found");
} else {
avp_print();
}
sl_reply_error();
}
When I'm sending the following INVITE:
INVITE sip:12128121207@myserbox.com SIP/2.0
...
Here's the query that's sent to the database:
select value,attribute,type from usr_preferences
where username='12128121207' AND attribute='100'
Here's the result of the query in psql:
users=# select value,attribute,type from usr_preferences where username='12128121207' AND attribute='100';
value | attribute | type
-------------------------------------+-----------+------
sip:12128121207@anotherbox.com | 100 | 2
(1 row)
As you can see there's no NULL values and everything looks correct so far.
But here's what I get in ser log:
0(12042) val2str(): converting 100, 3
0(12042) PG[217] str2valp got string sip:12128121207@anotherbox.com
0(12042) PG[217] str2valp got string 100
0(12042) PG[193] str2valp got int 2
0(12042) ERROR:avpops:dbrow2avp: dbrow contains NULL fields
I tried it with ser 0.9.0, cvs stable and cvs head all with the same result.
If this is not a bug, please point me to what I'm doing wrong.
Otherwise please consider it a bug report. I assume that this is PostgreSQL
support related as it seems people on the list were able to get it work
with MySQL.
Thank you,
Michael
Hello,
I am looking for a PSTN provider who I can pass International calls for
mutual benefit. I provide PC to PC calls only but I figure that the real
advantage is to make my clients be able to call to the family and friends in
Europe and America at cheaper rates. Someone advice appropriately.
Thank you in advance.
Emmanuel.
_____
I am using the free version of SPAMfighter for private users.
It has removed 890 spam emails to date.
Paying users do not have this message in their emails.
Try SPAMfighter <http://www.spamfighter.com/Product_Info.asp?> for free
now!
Hello,
I am not sure if someone has set up a SER/Asterisk platform for
conference calls but if they have I would appreciate some help! - I was
wondering how I would modify the ser.cfg given in the onsip document so
that when users dial a particular number e.g. 2222, they are forwarded
to asterisk where a conference call can be set up.
I have set up asterisk as follows:
[Meetme.conf]
conf => 12345
[extensions.conf]
exten => 222,1,Meetme,12345.
If someone could give me some sort of example, it would help a lot.
Thank you,
Aisling.
-------------------Legal Disclaimer---------------------------------------
The above electronic mail transmission is confidential and intended only for the person to whom it is addressed. Its contents may be protected by legal and/or professional privilege. Should it be received by you in error please contact the sender at the above quoted email address. Any unauthorised form of reproduction of this message is strictly prohibited. The Institute does not guarantee the security of any information electronically transmitted and is not liable if the information contained in this communication is not a proper and complete record of the message as transmitted by the sender nor for any delay in its receipt.