Please help me for Dial plans for these providers

Catalog of dial plans
Post Reply
funxlab
Posts: 84
Joined: Thu May 14, 2009 11:59 pm

Please help me for Dial plans for these providers

Post by funxlab » Fri May 15, 2009 1:26 am

Hi everyone!
I m new here & really liked the idea of mysipswitch. I m not new to VOIP but never understood dial plans so I want your help. I have configured Grandstream 286 with mysipswitch.

I have Gizmo5 , Callcentric, & Tpad in my SIP Switch. I want dial plans which can make easy internal calling to Tpad, Gizmo & Callcentric possible .(within network calling )

For Example for Gizmo5 users I dial 1747******* (11 Digit)
For Call Centric I dial 1777******* (11 Digit)
For TPad I dial 1******* (7 digit)

I also want to call Skype users through Gizmo5 Opensky feature. As you might know that we can define numeric Alias for Skype alphabetic ID in Opensky it is usually in form of 333*******


I will be really very grateful if anyone can help me with this. All of you have a good day.

Regards,
Jim.

jvwelzen
Posts: 716
Joined: Thu Sep 11, 2008 1:56 pm

Post by jvwelzen » Fri May 15, 2009 11:27 am

Did you try the Ruby Wizard

http://www.mysipswitch.com/rubyzard.aspx

Code: Select all

#Ruby
# Dial Plan Generated by Rubyzard v0.1 
# If you need help, please post in our forum
# http://www.mysipswitch.com 

# SIP tracing : true or false 
sys.Trace = false 

sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.")

if sys.In then
 # Do your INCOMING call processing customisations here.
	 if sys.IsAvailable() then
		 sys.Dial("#{sys.Username}@local",30)
		 sys.Respond(480, "#{sys.Username} Not available") 
	 else
		 sys.Dial("YourMobileNumber@Gizmo5",30)
		 sys.Respond(480, "#{sys.Username} Not available")
	 end
 
else
  # Do your OUTGOING call processing customisations here.
	 case req.URI.User
		 when /^1/ then sys.Dial("${dst:1}@Gizmo5") 
		 when /^2/ then sys.Dial("${dst:1}@Callcentric") 
		 when /^3/ then sys.Dial("${dst:1}@Tpad") 
		 else sys.Dial("Gizmo5")
	 end
 
end



User avatar
TheFug
Posts: 914
Joined: Sat Oct 06, 2007 8:23 am
Location: The Netherlands, North-Holland

Post by TheFug » Fri May 15, 2009 5:27 pm

You could edit it to detect the typical number features:

Code: Select all

 when /^1747/ then sys.Dial("${dst}@Gizmo5") 
 when /^1777/ then sys.Dial("${dst}@Callcentric") 
 when /^15/ then sys.Dial("${dst}@Tpad") 
A simple speed dial:

Code: Select all

when /^\*1/ then sys.Dial("${dst}@Tpad") 
The Ruby wizard will respond correctly when you enter a speed dial
number like: *1

When you want a certain amount of numbers not dialed, you have keyed in, you edit {dst:3} (first 3 numbers will not be dialed)
When you want numbers added before the ones you keyed in,
you put these in front of $ like: 0031$

combined:

Code: Select all

 when /^06/ then sys.Dial("00316${dst:1}@Tpad")
When you key in: 061234567
003161234567 will be dialed.

btw. keep also in mind the order of your dialrules, when some of the first numbers are the same....
It's also handy to have an account at Voxlot, because you can "peer" to other networks, or dial iNum numbers directly, and a Gizmo user you can also dial directly from Voxalot.
Also: Tpad is cheaper for testing, because it charges by seconds, and not by the whole minute rate unit, like Callcentric does.
Last edited by TheFug on Fri May 15, 2009 5:43 pm, edited 1 time in total.
Thanks, The Fug.

gear: my ISP's Zyxel Modem/Router in bridge, Sitecom WL309 Router, Siemens Gigaset 301D

funxlab
Posts: 84
Joined: Thu May 14, 2009 11:59 pm

Post by funxlab » Fri May 15, 2009 5:29 pm

jvwelzen wrote:Did you try the Ruby Wizard

http://www.mysipswitch.com/rubyzard.aspx

Code: Select all

#Ruby
# Dial Plan Generated by Rubyzard v0.1 
# If you need help, please post in our forum
# http://www.mysipswitch.com 

# SIP tracing : true or false 
sys.Trace = false 

sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.")

if sys.In then
 # Do your INCOMING call processing customisations here.
	 if sys.IsAvailable() then
		 sys.Dial("#{sys.Username}@local",30)
		 sys.Respond(480, "#{sys.Username} Not available") 
	 else
		 sys.Dial("YourMobileNumber@Gizmo5",30)
		 sys.Respond(480, "#{sys.Username} Not available")
	 end
 
else
  # Do your OUTGOING call processing customisations here.
	 case req.URI.User
		 when /^1/ then sys.Dial("${dst:1}@Gizmo5") 
		 when /^2/ then sys.Dial("${dst:1}@Callcentric") 
		 when /^3/ then sys.Dial("${dst:1}@Tpad") 
		 else sys.Dial("Gizmo5")
	 end
 
end


jvwelzen!
Thanks alot for your reply. Actually I tried using Ruby Wizard, but I didn't get it trying alot to understand what actually are dialling methods for these three netwroks & how they handle within network & out of network calling & am not sure if it will handle my Internal calling to Callcentric user, Tpad users, Gizmo5 users & openSky of Gizmo5 calls using this dial plane. Can you please help me with this? :(

Regards & thanks once again,
Jim

User avatar
TheFug
Posts: 914
Joined: Sat Oct 06, 2007 8:23 am
Location: The Netherlands, North-Holland

Post by TheFug » Fri May 15, 2009 5:44 pm

see above
Thanks, The Fug.

gear: my ISP's Zyxel Modem/Router in bridge, Sitecom WL309 Router, Siemens Gigaset 301D

funxlab
Posts: 84
Joined: Thu May 14, 2009 11:59 pm

Post by funxlab » Fri May 15, 2009 5:47 pm

theFug!

I am really very grateful to you for this edit. It really made it much clear to me.

I put this edit in the dial plane.
Now it is like this:
============================================
#Ruby
# Dial Plan Generated by Rubyzard v0.1
# If you need help, please post in our forum
# http://www.mysipswitch.com

# SIP tracing : true or false
sys.Trace = false

sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.")

if sys.In then
# Do your INCOMING call processing customisations here.
if sys.IsAvailable() then
sys.Dial("#{sys.Username}@local",30)
sys.Respond(480, "#{sys.Username} Not available")
else
sys.Dial("YourMobileNumber@Gizmo5",30)
sys.Respond(480, "#{sys.Username} Not available")
end

else
# Do your OUTGOING call processing customisations here.
case req.URI.User
when /^1747/ then sys.Dial("${dst}@Gizmo5")
when /^1777/ then sys.Dial("${dst}@Callcentric")
when /^15/ then sys.Dial("${dst}@Tpad")
else sys.Dial("Gizmo5")
end

end


===============================================
But Please see that Tpad number start from 13***** to 16***** & continuing. So

when /^15/ then sys.Dial("${dst}@Tpad")

will work for TPAD?

And please help me with Gizmo5 Opensky calling as their number start with 333 ...is this line correct for outgoing call processing customisation for Opensky of Gizmo5?

when /^333/ then sys.Dial("${dst}@Gizmo5")

I made last line myself :)

Thank you once again.
Regards.

User avatar
TheFug
Posts: 914
Joined: Sat Oct 06, 2007 8:23 am
Location: The Netherlands, North-Holland

Post by TheFug » Fri May 15, 2009 5:57 pm

You can edit to your favor:

Code: Select all

when /^(13|14|15|16)/ then sys.Dial("${dst}@Tpad")
Yes, you are correct with your 333 number !

again i say: keep the order good in mind, otherwise you have to split up some dialplan rules, to have the result you want.
Thanks, The Fug.

gear: my ISP's Zyxel Modem/Router in bridge, Sitecom WL309 Router, Siemens Gigaset 301D

funxlab
Posts: 84
Joined: Thu May 14, 2009 11:59 pm

Post by funxlab » Fri May 15, 2009 6:31 pm

TheFug!

Please check my final dial plane:

===============================================
#Ruby
# Dial Plan Generated by Rubyzard v0.1
# If you need help, please post in our forum
# http://www.mysipswitch.com

# SIP tracing : true or false
sys.Trace = false

sys.Log("call from #{req.Header.From.FromURI.ToString()} to #{req.URI.User}.")

if sys.In then
# Do your INCOMING call processing customisations here.
if sys.IsAvailable() then
sys.Dial("#{sys.Username}@local",30)
sys.Respond(480, "#{sys.Username} Not available")
else
sys.Dial("YourMobileNumber@Gizmo5",30)
sys.Respond(480, "#{sys.Username} Not available")
end

else
# Do your OUTGOING call processing customisations here.
case req.URI.User
when /^1747/ then sys.Dial("${dst}@Gizmo5")
when /^1777/ then sys.Dial("${dst}@Callcentric")
when /^(13|14|15|16)/ then sys.Dial("${dst}@Tpad")
when /^333/ then sys.Dial("${dst}@Gizmo5")
else sys.Dial("Gizmo5")
end

end
=============================================


Do I need to paste above dial plane (if correct now) in all three providers dial plane settings?

Thank you very much,
Jim.

User avatar
TheFug
Posts: 914
Joined: Sat Oct 06, 2007 8:23 am
Location: The Netherlands, North-Holland

Post by TheFug » Fri May 15, 2009 6:53 pm

Your question i don't understand, but your dialplan is good to use now.

We should take this further in the "Technical Support" section, of the MSS Forum,
Because we are now in the "Use Cases" section, and is for allready proper working dialplans.
Thanks, The Fug.

gear: my ISP's Zyxel Modem/Router in bridge, Sitecom WL309 Router, Siemens Gigaset 301D

funxlab
Posts: 84
Joined: Thu May 14, 2009 11:59 pm

Post by funxlab » Fri May 15, 2009 8:20 pm

Thank you very much. It worked awsome. I have made a new post in Technical help section. :)
Regards,
Jim

Post Reply