[OpenSIPS-Users] Virtual Service Activation Codes
Indiver
nehru.indu at gmail.com
Wed Dec 9 14:08:30 CET 2009
Hi Bodgan,
Thanks for your reply. I had no idea about ACLs , i saw a document that
ACLS are nothing but group checking but i'm not clear abt that.so i modified
and tried the code and it's working for DND.
The procedure i followed is
when i called to internal number the call goes to route[10] as follows:
In opensips.cfg:
if (is_uri_host_local()) {
# -- Inbound to Inbound
route(10);
route[10] {
if (!does_uri_exist()) {
if (uri=~"^sip:[2-9][0-9]{9}@") {
if (is_user_in("credentials","local")) {
route(6);
route(4);
exit;
} else {
sl_send_reply("403", "No permissions for local calls");
exit;
};
};
if (uri=~"^sip:1[2-9][0-9]{9}@") {
if (is_user_in("credentials","ld")) {
route(6);
route(4);
exit;
} else {
sl_send_reply("403", "No permissions for long distance");
exit;
};
};
if (uri=~"^sip:011[0-9]*@") {
if (is_user_in("credentials","int")) {
route(6);
route(4);
exit;
} else {
sl_send_reply("403", "No permissions for international calls");
};
};
};
if (uri=~"^\*[1-9]+") {
# we do provide access to media services only to our
# subscribers, who were previously authenticated
xlog("****Starting of $ru***\n");
if (!is_from_local()) {
send_reply("403","Forbidden access to media service");
exit;
}
#identify the services and translate to Asterisk extensions
if ($rU=="*78") {
#ENABLE DND
seturi("sip:AN_fwdok at Asterisk IP:5060");
}
else
if ($rU=="*79") {
# DISABLE DND
seturi("sip:AN_fwdko at Asterisk IP:5060");
}
t_relay();
exit;
}
if (!lookup("location")) {
if (does_uri_exist()) {
## User not registered at this time.
revert_uri();
prefix("u");
rewritehostport("localhost"); #Use the IP address of your
voicemail server
route(6);
route(1);
} else {
sl_send_reply("404", "Not Found-10-1");
exit;
}
sl_send_reply("404", "Not Found-10-2");
exit;
};
route(6);
route(1);
}
Asterisk Server:
In the Asterisk(extensions.conf) i wrote a dialplan for DND:
extensions.conf:
exten => AN_fwdok,1,Answer
exten => AN_fwdok,2,Set(DB(SIP/DND/${CALLERID(num)})=1)
exten => AN_fwdok,3,Playback(beep)
exten => AN_fwdok,4,Wait(2)
exten => AN_fwdok,5,Hangup
exten => AN_fwdko,1,Answer
exten => AN_fwdko,2,NoOp(${DB_DELETE(SIP/DND/${CALLERID(num)})})
exten => AN_fwdko,3,Playback(beep)
exten => AN_fwdko,4,Wait(2)
exten => AN_fwdko,5,Hangup.
The above code i posted is working for me
Is the above procedure i followed for activation of DND in opensips is
correct? Thanks in Advance!
Bogdan-Andrei Iancu wrote:
>
> Hi Indiver,
>
> your code is not implementing DND, but simply redirects *78 to a voice
> announcement. What you have to do is to actually implement the DND
> service first (maybe using an ACL -> if a user receives a call and the
> user had the DND ACL on, reject the call) and then to control it
> (enable/disable) via the *78 code.
>
> Regards,
> Bogdan
>
> Indiver wrote:
>> Hi Bodgan,
>>
>> For Virtual service activation codes, as per my observation when ever
>> user
>> dials *78 u just redirecting to asterisk as follows:
>> if ($rU=~"^\*[1-9]+") {
>> # we do provide access to media services only to our
>> # subscribers, who were previously authenticated
>> if (!is_from_local()) {
>> send_reply("403","Forbidden access to media service");
>> exit;
>> }
>> #identify the services and translate to Asterisk extensions
>> if ($rU=="*78") {
>> # access to own voicemail IVR
>> seturi("sip:AN_fwdok at ASTERISK_IP:ASTERISK_PORT");
>> t_relay();
>> exit;
>> and when the user dialing *79 it was just rewriting the uri
>> as
>> follows
>>
>> seturi("sip:AN_fwdko at ASTERISK_IP:ASTERISK_PORT");
>> t_relay();
>> exit;
>>
>> Is my assumption is right?Thanks in advance
>>
>>
>>
>>
>> Bogdan-Andrei Iancu wrote:
>
>>
>>> Hi Indiver,
>>>
>>> the Activation Codes service is pure scripting - it is not a module in
>>> opensips. Most of the VoIP features you can do with OpenSIPS are not
>>> necessarily provided by module (directly by C code), but rather via
>>> scripting logic (combination of different ops in the opensips script).
>>>
>>> Regards,
>>> Bogdan
>>>
>>> Indiver wrote:
>>>
>>>> Hi Every One,
>>>>
>>>> I registered in opensips voip services site. I found a tab regarding
>>>> dialing
>>>> plan. such as *78 for enable dnd,*72 for setting to permanent
>>>> redirect,*50
>>>> for voicemail inbox. I found no documentation in opensips regarding
>>>> these
>>>> services. Is there a way for acheiving this thru opensips. Thanks in
>>>> advance.
>>>>
>>>>
>>> --
>>> Bogdan-Andrei Iancu
>>> www.voice-system.ro
>>>
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at lists.opensips.org
>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>
>>>
>>>
>>
>>
>
>
> --
> Bogdan-Andrei Iancu
> www.voice-system.ro
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>
>
--
View this message in context: http://n2.nabble.com/Virtual-Service-Activation-Codes-tp4063251p4139290.html
Sent from the OpenSIPS - Users mailing list archive at Nabble.com.
More information about the Users
mailing list