News:

On Tuesday September 6th the forum will be down for maintenance from 9:30 PM to 11:59 PM PDT

Main Menu

Dialing out in UK

Started by stjnh, October 17, 2012, 02:59:22 PM

Previous topic - Next topic

stjnh

Hi,

I've just received my Obi110 in the UK, and I'm slowly getting my head around it. Receiving calls from both PSTN and SIP are working great, complete with forking calls where necessary.

What I can't work out, though, is making calls. If I dial # and get the dialtone I'm able to make a call, likewise if I prefix the call with **2 I'm able to make a SIP call.

If I dial directly, or prefix with **8, I get a pulsing dialtone followed by a pulsing buzzing.

I've tried reading around on the DigitMaps and OutboundCallRoute, but can't really get my head around it (including trying the UK examples on the forum) .

Would anyone be able to tell me what would work please? My default for the moment will be to make all calls via PSTN while having the SIP option, and for 999/112 to always go via PSTN. Six digit local calls without the code (01306) would be a bonus, but not essential.

Any suggestions or help would be greatly appreciated!

Many thanks,

Stuart

MB..

It can be confusing initially setting up an Obi.

The Phone Port DigitMap tells you what you can dial on the phone. Mine is:

([1-9]x?*(Mpli)|[1-9]|[1-9][0-9]|911|**0|***|#|**1{t=od}(Msp1)|**3{t=od}(Mvg3)||**4{t=od}(Mvg4)|**6{t=od}(Mvg2)|**7{t=od}(Mvg1)|**2{t=od}(Msp2)|**8(Mli)|**9(Mpp)|(Mpli)|(Msp1))


Each rule is separated by a vertical bar, and the whole thing is wrapped in brackets.  When you see something like (Msp2) it is referring to another digit map. The important ones here are Msp1 and Msp2 (your two possible service providers) and (Mpli) whatever service the Primary Line is pointing at.  The {t=od} says to play a secondary dial tone, so if I dial **2 with the above map, I get a secondary dial tone while the Obi waits for the next digit.

The Phone Port OutboundCallRoute looks like:

{(<#:>|[2-9]11):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Mvg3)):vg3},{(<**4:>(Mvg4)):vg4},{(<**6:>(Mvg2)):vg2},{(<**7:>(Mvg1)):vg1},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}


This is a comma separated list of alternative routes. Each route is in {}. The precedence is from left to right. Starting with the simplest, {(Mpli):pli} says "if you type something which matches the primary line's digit map, then route the call to the primary line (pli).

When you see {(<#:>|[2-9]11):li} the meaning is "match either # or 211, 311, 411, 511, 611, 711 and route to the line interface. If you see a "#" at the beginning, strip it off and replace it with nothing (the bit after the colon)." Similarly "{(<**1:>(Msp1)):sp1}" matches anything that starts with **1 followed by the first provider's digit map, strips off the "**1", and routes it to the first provider. 

So for the UK, you will want to replace the first part with  {(<#:>|999|112):li} to make all 999 or 112 calls always go to the PSTN line interface.

You indicated by default you want calls handled by the line interface, so set the Phone Port Primary Line setting to "PSTN Line".

The Line Port digit map indicates what your PSTN line will accept. Mine is:

([2-9]11S0|613xxxxxxxS0|1xxxxxxxxxxS0|xx.|*98S0|*x.)


The S0 (S zero) says "wait zero seconds after you see this combination." "x" is "any digit" and "." is any number of any digits.  The "xx." rule says "allow anything 2 or more digits long", which is a catch-all for international  calls.  If two rules match the device waits until a timeout before processing, hence the [2-9]11S0 etc. to avoid waiting when these patterns are seen.

The Service Provider digit map is where to put anything clever. Mine is:

(<:1>613xxxxxxx|1xxxxxxxxxx|0<11:44>44[12]xxxxxxxxx|011xx.|033xx.|044xx.|*75xx|*97|*98|*225|4443|4747|068.|10x)


Explanations, from left to right:

  • <:1>613xxxxxxx - If you see a 10 digit number starting with 613, put a 1 in front of it and dial immediately
  • 1xxxxxxxxxx - if you see an 11 digit number starting with 1, dial it immediately
  • 0<11:44>44[12]xxxxxxxxx if you see a number like 011442075551212 change it to 044442075551212 and dial it. (I use this to route the call more cheaply on voip.ms
  • *98, *97 etc. are special codes used by voip.ms

You will need to modify this so suit your provider. For example, you may wish to try something like:

(<:01306>[1-9]xxxxxS0|0[1-9]xxxxxxxxxS0|*x.|xx. )


But at this point I can't help further because my knowledge of UK dialing codes is out of date and I don't know the international and special call formats. 

The first part will give you your 6 digit dialing of local calls, the second part will work for standard inland calls (although I think there may still be an exchange with a different number of digits) . *x. should allow all star codes, and xx. will allow anything not recognized by a previous rule (though after a long time out).

Hope this helps you get started.  I don't drop in here often, but PM me if you get completely stuck.

Mike











stjnh

Thanks Mike.

I think I'm beginning to understand things a bit more. So far I've got the following.

(Phone) DigitMap:
(<:01306>[1-9]xxxxxS0(Mpli)|0[1-9]xxxxxxxxxS0(Mpli)|[1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|999|112|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

OutboundCXallRoute:
{(<#:>|999|112):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**3:>(Mvg3)):vg3},{(<**4:>(Mvg4)):vg4},{(<**6:>(Mvg2)):vg2},{(<**7:>(Mvg1)):vg1},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}

(Line) DigitMap:
(0[1-9]xxxxxxxxx|<:01306>[1-9]xxxxx|*x.|xx.)

(ITSP) DigitMap:
(0[1-9]xxxxxxxxx|<:01306>[1-9]xxxxx|*x.|xx.|(Mipd)|[^*#]@@.)

If I make a call through SIP, prefixing with **2, the call goes through both with and without the area code - so I assumed that I'd got it sorted, hence replicating it for PSTN.

If I press # and wait for a dialtone, the call goes through perfectly.

If I make a call without a prefix (going through PSTN), I get a single ring through the phone initiating the call, followed by a long beep.

If I make a call through PSTN, prefixing with **8, I get exactly the same.

If I switch the default outgoing call to be through SIP, it works perfectly - even without the area code.

Looking at this, I'm guessing that my Line DigitMap is at fault, but I can't for the life of me work it out.

Does anyone have any suggestions please?

Thanks,

Stuart

stjnh

I guess, if I'd read and tried the tips at http://www.obitalk.com/forum/index.php?topic=679.msg5575#msg5575 earlier...

I'd been getting very confused that it was working on SIP and not PSTN so decided to search the forum for UK, found tips about changing the parameters (I'd glanced before but the dialtone was correct so I assumed the UK version was ready for use here), tried it, and it appears to be working!

Hopefully tomorrow my new 4 port Powerline device will come so that I can have everything properly rigged up on the work line :-)

ianobi

Stuart,

Try to leave Phone Port DigitMap and OutboundCallRoute as they are (except 999/112) and do all the routing in the Trunk DigitMaps (Mli, Msp1, Msp2 etc). This will streamline things and make it easier to understand. I suggest:

Assuming that your Primary Line is PSTN

Phone Port DigitMap:
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|999|112|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

Phone Port OutboundCallRoute
{([1-9]x?*(Mpli)):pp},{(<#:>|999|112):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>(Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}


Line Port DigitMap (Mli) – in your case Mli = Mpli
(0[1-9]xxxxxxxxxS0|[1-9]xxxxxS0|xx.)

If you have set up your SIP provider on SP2 (dialling **2) then:

(ITSP Profile B) DigitMap:
(0[1-9]xxxxxxxxx|<01306>[1-9]xxxxx|xx.|(Mipd)|[^*#]@@.)

These DigitMaps can be improved upon, but it's best to get the basics working before we fine tune them!

I may have missed some of your needs, e.g. I'm not sure what *x was for. Also, I don't think you are using the Voice Gateways (vg1, vg2, etc) referred to in your Phone Port OutBoundCallRoute.

MB..

Quote from: ianobi on October 19, 2012, 07:51:31 AM

I may have missed some of your needs, e.g. I'm not sure what *x was for. Also, I don't think you are using the Voice Gateways (vg1, vg2, etc) referred to in your Phone Port OutBoundCallRoute.


Sorry, that was me: I was trying to edit a more complex setup (using Voice Gateways with multiple providers) to meet the original OPs needs.  The *x. was an attempt to cover any service codes.

Assume everything is working now.

For future reference, the <:01306>[1-9]xxxxx substitutions were only applicable to the ITSP not to the PSTN - they have the effect of turning a 6 digit number into a (0) 11 digit number.  So this transformation should be in the ITSP  map and not the PSTN/Line map.


Haus

Hi Everyone,

I've recently bought an Obi110, and am in the UK too. Have similar issues to Stuart - so thought I'd add to this thread. If I should make a new thread, please let me know and I am happy to post again.

I am having trouble making the digit maps work correctly, I tried calling my mobile 07xxxxxxxxx, however it still uses PSTN to make the call.

Can anyone please have a look to see where I'm going wrong? Any advice is greatly appreciated.

Many thanks,
Haus


My primary line is set to PSTN. I would like to receive calls from my landline as well as from my Sipgate provider (Profile A). I have also written below what I interpret the codes to mean, hope I understood the codes correctly?


Phone Port DigitMap:
([1-9]x?*(Mpli)|[1-9]S9|[1-9][0-9]S9|999|112|**0|***|#|**1(Msp1)|**2(Msp2)|**8(Mli)|**9(Mpp)|(Mpli))

Default ( but changed 911 to UK 999 and 112)

Phone Port OutboundCallRoute:
{([1-9]x?*(Mpli)):pp},{(<#:>|999|112):li},{**0:aa},{***:aa2},{(<**1:>(Msp1)):sp1},{(<**2:>Msp2)):sp2},{(<**8:>(Mli)):li},{(<**9:>(Mpp)):pp},{(Mpli):pli}

Default ( but changed 911 to UK 999 and 112)

Line Port DigitMap:
(0[1-3]xxxxxxxxxS0|<020>[3]xxxxxxxS0|<020>[7-8]xxxxxxxS0|0800xxxxxxxS0|0845xxxxxxxS0|0870xxxxxxxS0|0031xxxxxxxxxS0|0045xxxxxxxxS0|0049xxxxxxxxxxS0|0014xxxxxxxxxS0|001xxxxxxxxxxS0|xx.)

Call UK Landlines beginning in 01, 02 or 03 (as soon as last digit is entered immediately)
Call Local area numbers without entering area code 020, so I can just dial 3xxxxxxx.
Call Local area numbers without entering area code 020, so I can just dial 7xxxxxxx or 8xxxxxxx.
Call 0800 numbers
Call 0845 numbers
Call 0870 numbers
Call Netherlands beginning with 0031
Call Denmark beginning with 0045
Call Germany beginning with 0049
Call Canada beginning with 0014
Call USA beginning with 001
Anything else (unless if it matches the ISTP) still gets routed via PSTN

ISTP Profile A General DigitMap:
(07xxxxxxxxx|0844xxxxxxx|0871xxxxxxx|0091xxxxxxxxx|xx.|(Mipd)|[^*#]@@.)

Call UK Mobiles beginning with 07
Call 0844 numbers
Call 0871 numbers
Call India 0091 numbers
(I assume I can remove the xx. - as I don't want to route any other numbers via Sipgate, is this correct?)

Thank you :)

ianobi

#7
Haus,

Welcome to the forum  :)

Beware of the xx. rules! I would think that the xx. rule in your Line Port DigitMap is matching all the numbers that you are trying to send via sp1.

You could try just removing xx. from the Line Port DigitMap, but that might restrict you from dialling some numbers. E.g. some 0800 numbers are not eleven digits long. The most secure way is to redirect numbers from the Mpli (Map PrimaryLine). In your case Mpli = Mli (MapLinePort).

For each rule in your ISTP Profile A General DigitMap add a rule in the Line Port DigitMap such as <**1>07xxxxxxxxx so you end up with a Line Port DigitMap:

(<**1>07xxxxxxxxx|<**1>0844xxxxxxx|<**1>0871xxxxxxx|<**1>0091xxxxxxxxx|0[1-3]xxxxxxxxxS0|<020>[3]xxxxxxxS0|<020>[7-8]xxxxxxxS0|0800xxxxxxxS0|0845xxxxxxxS0|0870xxxxxxxS0|0031xxxxxxxxxS0|0045xxxxxxxxS0|0049xxxxxxxxxxS0|0014xxxxxxxxxS0|001xxxxxxxxxxS0|xx.)

The <**1> prepends **1 to any number that matches the following digits. The Phone Port OutboundCallRoute rule {(<**1:>(Msp1)):sp1}  will remove the **1 and route the call to sp1.

In your ISTP Profile A General DigitMap (which is in effect Msp1), I would remove xx.|(Mipd)|[^*#]@@. The xx. is not wanted and I don't believe Sipgate UK allow sip uri dialling (anything@anywhere) format, which is what the other rules are for. Always be wary of this rule [^*#]@@. As far as digits are concerned it is the same as xx.

Be careful if you cut and paste from here to make sure no spaces get into the DigitMaps and nothing is left out.

Edit: Assuming that you removed xx.|(Mipd)|[^*#]@@. From Msp1, then a simpler Line Port DigitMap would be:

(<**1>(Msp1)|0[1-3]xxxxxxxxxS0|<020>[3]xxxxxxxS0|<020>[7-8]xxxxxxxS0|0800xxxxxxxS0|0845xxxxxxxS0|0870xxxxxxxS0|0031xxxxxxxxxS0|0045xxxxxxxxS0|0049xxxxxxxxxxS0|0014xxxxxxxxxS0|001xxxxxxxxxxS0|xx.)


Haus

Hi Ianobi,

Many thanks for your very quick and helpful reply. It works perfectly!  ;D

I've used your second suggestion - makes it all easier to manage I think.

Just in case anyone want's to see what I'm using now -

ISTP Profile A General DigitMap:
(07xxxxxxxxx|0844xxxxxxx|0871xxxxxxx|0091xxxxxxxxx)

Line Port DigitMap:
(<**1>(Msp1)|0[1-3]xxxxxxxxxS0|<020>[3]xxxxxxxS0|<020>[7-8]xxxxxxxS0|0800xxxxxxxS0|0845xxxxxxxS0|0870xxxxxxxS0|0031xxxxxxxxxS0|0045xxxxxxxxS0|0049xxxxxxxxxxS0|0014xxxxxxxxxS0|001xxxxxxxxxxS0|xx.)