Hi all,
I am trying to implement the call forwarding feature in openser. The forwarding part is fine. But I have the follwing scenario:
Whenever a user needs to change his forwarding number, he should be able to do so from his end device only.
For eg: He first presses 86 and then the 10 digit number to be forwarded. Here the 86 has to be stripped and the 10 digit number should be inserted into the call forward value column of the preferences table.
Also if he wants to remove the forwarded number, he can do so by pressing say for eg: 87. on receiving this number openser should delete that value from the
table.
Is this possible. I tried to do the following, but somehow it does not change the
value.
if(uri=~"^sip:86[0-9]*@") {
if(avp_db_load("$from/username", "s:callfwd")) { #check if call-fwd feature is enabled for the user
log(1,"AVP condition returned true");
strip(2);
avp_write("$ruri", "s:callfwd");
avp_print();
log(1,"AVP written");
sl_send_reply("200", "OK");
exit;
};
};
Is avp_write the proper method or I guess avp_db_store can also help me. The avp_print() function also does not show me anything in the log. Are there any
logical mistakes or I have mis-interpreted the syntax of avpops functions.
Please help me in thsi regard.
Thanks a lot in advance.
Jayesh.
---------------------------------
Jiyo cricket on Yahoo! India cricket
Yahoo! Messenger Mobile Stay in touch with your buddies all the time.
Hi all,
I am trying to implement the call forwarding feature in openser. The forwarding part is fine. But I have the follwing scenario:
Whenever a user needs to change his forwarding number, he should be able to do so from his end device only.
For eg: He first presses 86 and then the 10 digit number to be forwarded. Here the 86 has to be stripped and the 10 digit number should be inserted into the call forward value column of the preferences table.
Also if he wants to remove the forwarded number, he can do so by pressing say for eg: 87. on receiving this number openser should delete that value from the
table.
Is this possible. I tried to do the following, but somehow it does not change the
value.
if(uri=~"^sip:86[0-9]*@") {
if(avp_db_load("$from/username", "s:callfwd")) { #check if call-fwd feature is enabled for the user
log(1,"AVP condition returned true");
strip(2);
avp_write("$ruri", "s:callfwd");
avp_print();
log(1,"AVP written");
sl_send_reply("200", "OK");
exit;
};
};
Is avp_write the proper method or I guess avp_db_store can also help me. The avp_print() function also does not show me anything in the log. Are there any
logical mistakes or I have mis-interpreted the syntax of avpops functions.
Please help me in thsi regard.
Thanks a lot in advance.
Jayesh.
---------------------------------
Jiyo cricket on Yahoo! India cricket
Yahoo! Messenger Mobile Stay in touch with your buddies all the time.
Hi all,
I am trying to implement the call forwarding feature in openser. The forwarding part is fine. But I have the follwing scenario:
Whenever a user needs to change his forwarding number, he should be able to do so from his end device only.
For eg: He first presses 86 and then the 10 digit number to be forwarded. Here the 86 has to be stripped and the 10 digit number should be inserted into the call forward value column of the preferences table.
Also if he wants to remove the forwarded number, he can do so by pressing say for eg: 87. on receiving this number openser should delete that value from the
table.
Is this possible. I tried to do the following, but somehow it does not change the
value.
if(uri=~"^sip:86[0-9]*@") {
if(avp_db_load("$from/username", "s:callfwd")) { #check if call-fwd feature is enabled for the user
log(1,"AVP condition returned true");
strip(2);
avp_write("$ruri", "s:callfwd");
avp_print();
log(1,"AVP written");
sl_send_reply("200", "OK");
exit;
};
};
Is avp_write the proper method or I guess avp_db_store can also help me. The avp_print() function also does not show me anything in the log. Are there any
logical mistakes or I have mis-interpreted the syntax of avpops functions.
Please help me in thsi regard.
Thanks a lot in advance.
Jayesh.
---------------------------------
Jiyo cricket on Yahoo! India cricket
Yahoo! Messenger Mobile Stay in touch with your buddies all the time.
Hello,
I would like to test for the domain name in a sip request to decide if
an invite is accepted or not. I have the following lines in my
openser.cfg file to cater for DNS SRV forwarding:
# accept calls from foo.com
if ( is_method("INVITE") )
{
rewritehost ("sipproxy.foo2.com");
rewriteport ("");
}
This works well, but I would like to tighten security by only allowing
invites forwarded by foo.com. When debugging using xlog calls, the
pseudo-variable I am after is : $rd.
However $rd can not be used in openser.cfg as follows:
if ( is_method("INVITE") && $rd="foo.com" )
Documentation suggests to use core keywords like:
if(is_method("INVITE") && from_uri=~".*(a)foo.com")
This does not work for my situation and I don't know how I can see the
value of 'from_uri', as it can't be expanded into xlog calls.
So my kind of overlapping questions are:
How can I use pseudo-variables in openser.cfg to test for a certain
value?
How can I see (debug) the contents of a core keyword?
Which keyword should I be using to solve this issue?
Has anyone solved a similar issue in the past and if so can you please
give some details?
Thanks,
Bas.
Dear ALL:
I still have this problem !!
SIP UA can register in the SER after freeradius checking,
but when call forwarded to the b2bua ( b2bua then auth by radius) , follow is the radius log
modcall[authorize]: module "sql" returns notfound for request 4 <====but i use the same account and password to register to the SER
modcall: leaving group authorize (returns ok) for request 4
auth: No authenticate method (Auth-Type) configuration found for the request: Rejecting the user
auth: Failed to validate the user.
Please help me
follow is in my ser.cfg
if (method=="INVITE") {
record_route();
forward(b2bua.server,5065);
sl_send_reply("181","Forwarding the call to B2BUA");
}
ar.
----- Original Message -----
From: Chia-Hung Hsu
To: serusers(a)lists.iptel.org
Sent: Sunday, March 26, 2006 12:30 AM
Subject: Fw: [Serusers] about the accounting and prepaid problem
Dear All,
I am new in SER and B2BUA, and I have a problem now
UA1----SER----B2BUA----Freeradius
|
|
UA2
if i use the configure in b2bua-cfg.xml
<Billing_Server>
<Address>radius.xxx.com</Address>
<Authentication_Port>1813</Authentication_Port>
<Accounting_Port>1813</Accounting_Port>
<Password>password</Password>
</Billing_Server>
it will show the log in the radius server, when UA1 called to UA2
rad_recv: Access-Request packet from host 140.110.20.55:1024, id=0, length=68
Authentication-Request sent to a non-authentication port from client b2bua:1024 - ID 0 : IGNORED
so , i change the configure in b2bua-cfg.xml
<Billing_Server>
<Address>radius.xxx.com</Address>
<Authentication_Port>1812</Authentication_Port>
<Accounting_Port>1813</Accounting_Port>
<Password>password</Password>
</Billing_Server>
when UA1 called to UA2 , caller show the log "Number does not exist Call rejected : 404 not found"
Can anyone help me?
John Hsu
Hi,
I am new to the VoIP. My plan is to have SER in one Linux server, and have
Asterisk in the other Linux server. Can you share your experience with me
what I should do with the configuration file in the SER and Asterisk? So
that SER and Asterisk can interwork together.
Thanks a lot.
Josh
on my machine,
ser 0.9.3 crashes as soon as a UA sends REGISTER message
on doing gdb ser corefile i get the following when calling 'bt'
(gdb) bt
#0 qm_malloc (qm=0x8107e00, size=760) at mem/q_malloc.c:290
#1 0x0806ce0e in receive_msg (
buf=0x80d6560 "REGISTER sip:194.255.1.199:5060 SIP/2.0\r\nFrom:
<sip:88515356@194.255.1.199>;tag=ccd4c5cb-13c4-2838-9d1b45-6d9e\r\nTo:
<sip:88515356@194.255.1.199>\r\nCall-ID:
ccd4c5cb-13c4-2838-9d1b45-7a20\r\nCSeq: 1 REGIS"...,
len=437, rcv_info=0xbfed0fe0) at receive.c:92
#2 0x0808421c in udp_rcv_loop () at udp_server.c:458
#3 0x0805ceaf in main_loop () at main.c:1032
#4 0x0805e50b in main (argc=2, argv=0xbfed11a4) at main.c:1568
(gdb) print h
$9 = 0
please help,
note that a similar setup on another machine works just fine.
tulika
Hi!
Please send your emails to the list. This way others can help you too,
and others will also benefit.
In Openser, all DB task will be done via openser's DB layer. Thus, the
modules do not have to take care of the used DB. Under the DB layer,
there are the DB drivers: There is at the moment mysql, postgresql and
unixodbc.
When configuring openser, you only have to use the proper configuration,
thus use "postgres://..." isntead of "mysql://...."
For setting up the database, use the openser_postgresql.sh script.
For setting up openser in general, please refer to the Gettign Started
Tutorial on onsip.org
regards
klaus
voiceoverip wrote:
> Hi Klaus,
>
> forgive me for being a nuisance:) I've tried google and Openser manuals,
> haven't been able to find any revelant Openser setup guide with
> PostgreSQL, would be glad if you can point me to any online reference(s).
>
> Also, I assume that by native, you meant the client interface to the
> underlying DB platform. Therefore, Postgres support would still be
> essentially modular?
>
> Thanks for your patience.
>
> Regards
>
> Klaus Darilion writes:
> > voiceoverip wrote:
> >> Hi Klaus,
> >> thanks for your advice, will check it out. Can i say that MySQL support
> >> is native? Mind if i ask what major difference(s) between modular and
> >> native support?
> >
> > mysql and postgres have native support. Both works well. I've never
> tried
> > the unixodbc yet.
> >
> > regards
> > klaus
> >
> >> Regards
> >> voiceoverip
> >> Klaus Darilion writes:
> >> > voiceoverip wrote:
> >> >> Hi,
> >> >> I am new to OpenSER.
> >> >> As noted in the installation notes(Persistent Data Storage) - "you
> >> need
> >> >> to make sure MySQL is installed on your box". Guess other
> backends(in
> >> >> particular PostgreSQL) are not supported. If true, wonder if
> there are
> >> >> plans to support other backends. Thanks.
> >> >
> >> > Take a look at the modules directory. There is already postgresql and
> >> > unixodbc.
> >> >
> >> > There is also native oralce support in ser's experimental tree.
> >> >
> >> > regards
> >> > klaus
> >> ________________________________
> >> Free POP3 Email from www.gawab.com
> >> Sign up NOW and get your account @gawab.com!!
> >
> ________________________________
> Free POP3 Email from www.gawab.com <http://www.gawab.com>
> Sign up NOW and get your account @gawab.com!!
Hi again,
I think I've found the problem. The client doesn't receive the packet from server because of network problems.
So I had to change the SIP port of my SIP Proxy to 5061
Now , following forward command does not work (SER still sends to 5060) , why ?
if (!t_forward_nonack("193.243.202.97", 5061)) {
log(1, "forward failed\n");
t_reply("500", "Forward failed");
}
Thanks,
ilker
________________________________
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of İlker Aktuna (Koç.net)
Sent: Friday, March 31, 2006 3:21 PM
To: Vaclav Kubart
Cc: serusers(a)lists.iptel.org
Subject: RE: [Serusers] Ser as a presence server with other SIP proxy asregistrar and rtp proxy
Hi Vaclav,
Thanks for the information.
I changed my configuration for REGISTER messages and they were forwarded to my SIP proxy.
But the clien't can't connect. I think that's because of authentication requirement on my SIP proxy.
When I make the client connect directly to my SIP proxy I see the following SIP header on it:
12:09:22.967260: SIP: 193.243.202.97:5060 << 85.105.102.167:8359 payload: 792 bytes
REGISTER sip:193.243.202.97 SIP/2.0
Via: SIP/2.0/UDP 192.168.2.6:8359;branch=z9hG4bK-d87543-c2540260b6061b1e-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:200000900568888888@192.168.2.6:8359;rinstance=c314db726308b27a>
To: "900568888888"<sip:200000900568888888@193.243.202.97>
From: "900568888888"<sip:200000900568888888@193.243.202.97>;tag=f72f1c2c
Call-ID: 2748934b5d115c55@TkVUV09SS1lPTi5jb21wYW55MS50c3Q.
CSeq: 2 REGISTER
Expires: 3600
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Supported: eventlist
User-Agent: eyeBeam release 3014w stamp 26359
Authorization: Digest username="200000900568888888",realm="NcxSip",nonce="48058627",uri="sip:193.243.202.97",response="92be0838ca4f794d23d4bb3d34e12aa9",algorithm=MD5
Content-Length: 0
But if I make the client connect to SER and then forward the REGISTER message to my SIP proxy, I see the following SIP header arriving:
12:16:42.263635: SIP: 193.243.202.97:5060 << 193.243.207.107:10003 payload: 716 bytes
REGISTER sip:193.243.202.97 SIP/2.0
Via: SIP/2.0/UDP 10.100.100.15;branch=z9hG4bKcee1.8c792d45.0
Via: SIP/2.0/UDP 192.168.2.6:8359;received=85.105.102.167;branch=z9hG4bK-d87543-aa1ee14dcf543535-1--d87543-;rport=10002
Max-Forwards: 16
Contact: <sip:200000900568888888@192.168.2.6:8359;rinstance=2c28e04a9c62f011>
To: "900568888888"<sip:200000900568888888@193.243.202.97>
From: "900568888888"<sip:200000900568888888@193.243.202.97>;tag=d37fe827
Call-ID: 6d7923631c258f31@TkVUV09SS1lPTi5jb21wYW55MS50c3Q.
CSeq: 1 REGISTER
Expires: 3600
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Supported: eventlist
User-Agent: eyeBeam release 3014w stamp 26359
Content-Length: 0
It seems that when the SIP message is forwarded through SER, the Authorization information is missing.
How can I make SER to forward the message without modifying the message ?
Also how can I modify user and domain information for the forwarded messages ?
Thanks,
ilker
-----Original Message-----
From: Vaclav Kubart [mailto:vaclav.kubart@iptel.org]
Sent: Friday, March 31, 2006 8:37 AM
To: İlker Aktuna (Koç.net)
Cc: serusers(a)lists.iptel.org
Subject: Re: [Serusers] Ser as a presence server with other SIP proxy as registrar and rtp proxy
Hi,
your solution is possible - separated presence server from other SIP communication. For forwarding you need cfg like this:
if (method=="...") { # here put method name which should be forwarded
if (!t_newtran()) {
log(1, "newtran error\n");
sl_reply_error();
break;
};
if (!t_forward_nonack("machine.domain.com", 5060)) {
log(1, "forward failed\n");
t_reply("500", "Forward failed");
}
break;
}
I'm using SER as proxy and other SER as presence server. Proxy forwards presence related messages to presence server, it looks like:
C "-//W3C//DTD HTML 4.0 Transitional//EN">
Hi again,
I think I've found the problem. The client doesn't receive the packet from server because of network problems.
So I had to change the SIP port of my SIP Proxy to 5061
Now , following forward command does not work (SER still sends to 5060) , why ?
if (!t_forward_nonack("193.243.202.97", 5061)) {
log(1, "forward failed\n");
t_reply("500", "Forward failed");
}
Thanks,
ilker
________________________________
From: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] On Behalf Of İlker Aktuna (Koç.net)
Sent: Friday, March 31, 2006 3:21 PM
To: Vaclav Kubart
Cc: serusers(a)lists.iptel.org
Subject: RE: [Serusers] Ser as a presence server with other SIP proxy asregistrar and rtp proxy
Hi Vaclav,
Thanks for the information.
I changed my configuration for REGISTER messages and they were forwarded to my SIP proxy.
But the clien't can't connect. I think that's because of authentication requirement on my SIP proxy.
When I make the client connect directly to my SIP proxy I see the following SIP header on it:
12:09:22.967260: SIP: 193.243.202.97:5060 << 85.105.102.167:8359 payload: 792 bytes
REGISTER sip:193.243.202.97 SIP/2.0
Via: SIP/2.0/UDP 192.168.2.6:8359;branch=z9hG4bK-d87543-c2540260b6061b1e-1--d87543-;rport
Max-Forwards: 70
Contact: <sip:200000900568888888@192.168.2.6:8359;rinstance=c314db726308b27a>
To: "900568888888"<sip:200000900568888888@193.243.202.97>
From: "900568888888"<sip:200000900568888888@193.243.202.97>;tag=f72f1c2c
Call-ID: 2748934b5d115c55@TkVUV09SS1lPTi5jb21wYW55MS50c3Q.
CSeq: 2 REGISTER
Expires: 3600
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Supported: eventlist
User-Agent: eyeBeam release 3014w stamp 26359
Authorization: Digest username="200000900568888888",realm="NcxSip",nonce="48058627",uri="sip:193.243.202.97",response="92be0838ca4f794d23d4bb3d34e12aa9",algorithm=MD5
Content-Length: 0
But if I make the client connect to SER and then forward the REGISTER message to my SIP proxy, I see the following SIP header arriving:
12:16:42.263635: SIP: 193.243.202.97:5060 << 193.243.207.107:10003 payload: 716 bytes
REGISTER sip:193.243.202.97 SIP/2.0
Via: SIP/2.0/UDP 10.100.100.15;branch=z9hG4bKcee1.8c792d45.0
Via: SIP/2.0/UDP 192.168.2.6:8359;received=85.105.102.167;branch=z9hG4bK-d87543-aa1ee14dcf543535-1--d87543-;rport=10002
Max-Forwards: 16
Contact: <sip:200000900568888888@192.168.2.6:8359;rinstance=2c28e04a9c62f011>
To: "900568888888"<sip:200000900568888888@193.243.202.97>
From: "900568888888"<sip:200000900568888888@193.243.202.97>;tag=d37fe827
Call-ID: 6d7923631c258f31@TkVUV09SS1lPTi5jb21wYW55MS50c3Q.
CSeq: 1 REGISTER
Expires: 3600
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
Supported: eventlist
User-Agent: eyeBeam release 3014w stamp 26359
Content-Length: 0
It seems that when the SIP message is forwarded through SER, the Authorization information is missing.
How can I make SER to forward the message without modifying the message ?
Also how can I modify user and domain information for the forwarded messages ?
Thanks,
ilker
-----Original Message-----
From: Vaclav Kubart [mailto:vaclav.kubart@iptel.org]
Sent: Friday, March 31, 2006 8:37 AM
To: İlker Aktuna (Koç.net)
Cc: serusers(a)lists.iptel.org
Subject: Re: [Serusers] Ser as a presence server with other SIP proxy as registrar and rtp proxy
Hi,
your solution is possible - separated presence server from other SIP communication. For forwarding you need cfg like this:
if (method=="...") { # here put method name which should be forwarded
if (!t_newtran()) {
log(1, "newtran error\n");
sl_reply_error();
break;
};
if (!t_forward_nonack("machine.domain.com", 5060)) {
log(1, "forward failed\n");
t_reply("500", "Forward failed");
}
break;
}
I'm using SER as proxy and other SER as presence server. Proxy forwards presence related messages to presence server, it looks like:
<http://387555.sigclick.mailinfo.com/sigclick/03090F04/06044907/014D0A101813…>
_____________________________________________________________________________________________________________________________________________
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.
_____________________________________________________________________________________________________________________________________________
Hello,
I would like to know what is the default behavior when using next_gw(). Here
is basic example :
A call is coming to gw 1, gateway no 1 rejects it, the next gateway is gw2, is
this call forwarded to gw2 and so on ... ?
Thank you very much in advance for your answer.
Florian