Saturday, 16 October 2010

UK Dial and Progress Tones


Telephone Tones

There are several different telephone tones used in the UK, to indicate busy, call waiting, voicemail etc. These tones are described below.

Sipura Codes

The Cisco / Sipura telephone adaptors have the capability of being programmed to use similar tones. The strings are in the following format, with ring pattern1 being played first, and if present, it is followed with ring pattern 2:
frequency list; ring pattern1 [; ring pattern 2 ...]

frequency list is in the format: f1@l1 [,f2@l2 ...]
ring pattern is in the format: t1(dr1/ds1/x1 [,dr2/ds2/x2])

f - frequency in Hz
l - level in dBm for tone
t - duration of pattern in seconds (* is unlimited)
dr - duration of tone in seconds (* is unlimited)
ds - duration of silence in seconds (* is unlimited)
x - frequency to which this sequence applies (i.e. 1=f1, 2=f2, 1+2=f1&f2)

Tones

A description of the BT / UK tones is given below.


Dial Tone (Proceed Indication)


Indicates that the user can now dial.

Continuous tone of 350Hz at -20dB modulated with 440Hz at -23dB.

Sipura Format (Dial Tone): 350@-20,440@-23; 10(*/0/1+2)


Interrupted Dial Tone (Special Proceed Indication)

Used to indicate that add-on services are active, e.g. voicemail.

350Hz pulsing tone with 750ms on at -20dB and off for 750ms, modulated with 440Hz continuous tone at -23dB

Sipura Format (MW1 Dial Tone): 350@-20,440@-23;10(.75/.75/1+2)


Busy Tone (Engaged Tone)

Indicates that the end user line is busy.

Continually pulsing on for 375ms and off for 375ms of 400Hz at -20dB.

Sipura Format (Busy Tone): 400@-20; 10(0.375/0.375/1)


Congestion Tone (Path Engaged Tone)

Indicates routing equipment is temporarily unavailable.

400Hz tone pulsing 400ms on at -20dB, off for 350ms, on for 225ms at -14db, off for 525ms.

Sipura Format:


Number Unobtainable (Connection not Admitted)

Indicates that call cannot be routed to the requested number.

Continuous 400Hz tone at -20dB

Sipura Format (Reorder Tone): 400@-20;10(*/0/1)


Ringing Tone (Awaiting Answer)

Indicates that customer line is being rung.

400Hz tone modulated with 450Hz, continually pulsing on for 400ms at -20dB, off for 200ms, on for 400ms at -20dB and off for 2000ms,

Sipura Format: N/A (produced by telephone network)


Call Waiting Indication

Indicates a second incomming call

400Hz tone at -20dB, on for 100ms, off for 2 seconds.

Sipura Frequency (CWT frequency): 400@-20
Sipura Interval (CWT1 cadence): 30(.1/2)
Sipura Interval (CWT2 cadence): 30(.25/.25,.25/.25,.25/5)


Unknown

Sipura Format (SIT1 Tone): 950@-16,1400@-16,1800@-16;20(.330/0/1,.330/0/2,.330/0/3,0/1/0)


Disconnected Tone

Sipura Format: 400@-30,400@-30; 2(3/0/1+2)
Sipura Format: 400@-30,400@-30; 2(*/0/1+2)


Ring Styles

This is the standard BT ring

Ring for 60 seconds, 400ms ring, 200ms pause, 400ms ring, 2000ms pause.

Sipura Format (Ring 1 cadence): 60(.4/.2/.4/2)


BT Call Sign

This ring is used for the BT call sign service, which is where a second phone number is provided for the same phone, and the ring tone can be used to differentiate which number has been called.

Ring for 60 seconds, 1000ms ring, 2000ms pause.

Sipura Format (Ring 2 cadence): 60(1/2)

BT Ring Back

This is the ring pattern for the BT ring-back service, i.e. if the number is busy, and you select ring back, the phone will ring with the following pattern.

Ring for 60 seconds, 250ms ring, 250ms pause, 250ms ring, 250ms pause, 250ms ring, 1750ms pause.


Sipura Format (Ring 3 cadence): 60(.25/.25,.25/.25,.25/1.75)


References and Interesting Document
Link

Sunday, 3 October 2010

Linksys SPA3102


The Linksys SPA3102 is an amazingly powerful analogue telephone adaptor, which makes making calls over the internet completely transparent.

It is capable of routing telephone calls through one or more Voice over IP (VOIP) providers networks, or routing them over the landline Public Switched Telephone Network (PSTN).

Summary

8/10 - The Linksys SPA3102 is amazingly powerful, and can be used for more than just routing telephone calls over the internet. It is extremely flexible, but with that, it brings a "difficult to get to grips with" configuration - hopefully this blog entry will solve much of that!

Overview

It is configured to recognise dialed number patterns, and rules enure that the call is routed through the correct service. It isn't only linked to VOIP, it can also route calls through calling card companies too! Here's the sort of things it can do:
  • Route calls through the normal landline.
  • Block numbers (e.g. 0898 premium rate numbers).
  • Automatically route specific calls through calling card providers.
  • Automatically route specific calls through up to 4 different VOIP providers.
  • Automatically route specific calls to other VOIP phones (internet calls), by dialing the appropriate prefix.
  • With VoIPTalk, you get an 0843 incomming number for free, which is great for receiving tele-marketing calls, as they pay you!
  • Use the phone to dial US 1-800 numbers from outside the US.
  • You can also use the adaptor as an exchange to divert your incomming PSTN calls to another VOIP phone (not covered in this blog)
When you read online about the adaptor, you will see lots of people confused over how to set it up. It is confusing, because it is very powerful, but once you get your head round dialing plans, it becomes much simpler.

Typical Connection



The SPA3102 is designed to sit between your broadband connection (ADSL modem is shown in the diagram) and your telephone.

In order to initially configure the SPA3102, you can do one of two things: plug your PC into the Ethernet port (shown as yellow). If you like, you can leave this configuration, as the SPA3102 will route PC packets to the internet. In this configuration, you can configure the SPA3102 using a web browser and connecting to 192.168.0.1.

Alternatively, leave your PC connected directly to the ADSL modem, and enable the configuration server on the blue 'internet' port by dialling **** on your phone handset, selecting menu option 7932#, and then 1# to enable the web server, and press 1 to save. You can also select menu option 110# to find out what IP address has been allocated to the ADSL modem, so that you can connect to it with your web browser.

If you are in the UK, you will notice that although the adaptor comes with a UK mains plug, it does not come with any UK style phone cables. This is only really a problem if you have a very old phone, as most modern phone cables are actually unpluggable, and they have an RJ11 conector on one end. All you need to do in this instance is swap some cables around (see the diagram above).

Configuring the SPA3102

Some of the configuration is quite straight forward, and other parts are quite confusing. I will take you through the configuration I have set up with BT and VoIPTalk:
  • I took the adaptor out of its packaging, and connected it up as shown in the diagram above.
  • I checked that the firmware was the most up-to-date here, selecting a 3.x.x firmware (not a 5.x.x US version).
  • I set up a pay as you go account with VoIPTalk here, which gave me 10 minutes credit, and my own 0843 number - no credit card details were needed.
  • Using my PC and a web browser, I connected to http://192.168.0.1/, and got the configuration page of the adaptor.
  • I set the adaptor to use VoIPTalk using their guide.
  • I phoned my new 0843 number from my mobile, and my house phone received the call.
  • I dialled 902 from my house phone and got the VoIP test answer.
  • I set the adaptor to enable me to access the router from my laptop:
    Router / WAN Setup / Advanced / Enable WAN Server = yes
  • I then set up some Dial Plan rules:
    Voice / Line 1 / Advanced / Dial Plan
  • I then tried calling out from my house phone, 1471, local numbers, national numbers etc. and watched the 'Line' LED on the adaptor to make sure that the right calls were going the right way.
  • I then modified the busy tones and engaged tones, so that they match the UK (see tones below).
Gotchas

1. If the adptor does not automatically get the correct time,you probably don't have a working internet connection from it.  Check:

  • You have the correct cables in the correct sockets
  • You have a correct netmask and router specified
  • You have a correct DNS specified (particularly applicable if you are using static IP, as the DNS is not optional.

2. If you choose to set a password on the adaptor, the username to use is 'admin'

3. If you want to reset the adaptor to its factory defaults:
  • Disconnect the 'Line' cable (if you have 'Auto PSTN Fallback' enabled, and do not have a VoIP connection, the **** gets routed out of your PSTN interface).
  • Using your telephone, dial '****'
  • Dial 7 3 7 3 8 #
  • Press 1 to confirm
  • hang up and the ATA will reboot
  • Re-connect the 'Line' cable.
4. If you are doing a firmware upgrade using Linux, put the bin file somewhere on a webserver, and then connect to your ATA using: http://192.168.0.1/upgrade?http://hostname/path_to_upgrade.bin. The power LED will flash slowly when downloading, and flash quickly when programming - do not switch off whilst flashing!

5. When defining a dialling plan, don't forget that there are 3 ways to dial a number (in the UK): locally, e.g. 123123; nationally, e.g. 01480 123123; and internationally, e.g. 0044 1480 123123. make sure you cater for all combinations to be sure your routing decisions are not overridden. You may also want to consider other potential prefixes, such as 141 (withold caller ID) - see this page on some typical UK prefix codes for more ideas.

6. If you try to set the FXS Port Impedence, and the option you want is not there, double check that the correct country firmware is installed, e.g. 5.1.10(GW) does not support the UK impedences, but 3.3.6(GW) does.

7. If you enable the "Auto PSTN Fallback", in the event that your broadband is down, all your calls will be routed out of the normal phone line. You may not want this, and you may wish to disable the feature. If you do this, you will not be able to make any normal calls if the broadband is down either. I have already contacted Cisco about this, and they are looking at implementing a patch.

Setting Ring Tones and Port Impedence

Connect to the SPA3102 webserver, select admin and advanced, and on the Voice/Regional tab and Voice/PSTN Line tab (for the disconnect tone), set the dial tones as shown on this post.

On the Voice/Regional tab, make sure that the FXS Port impedence is set to 370 + 620 || 310nf (These numbers have come from BT's document SIN351). If you don't see this in the list, make sure you have the correct version of the firmware installed.

Calling other Internet Phones

Just like normal telephone systems, the internet consits of many different companies, all providing VoIP services. The way to dial anothe VOIP account is to dial their account number @ voip provider. Clearly, this is complicated to type into a phone, and this is where SIPBroker comes in. They provide the equivalent of area codes, so all you need to dial is * area code account number.

The easiest way to set up the rule for SIPBroker is to set up a rule to interpret anything starting with a * to be routed directly to sipbroker.com, e.g.
*xx.<:@sipbroker.com>.

So, for example, a person with a freenum.org account 88888888 has a VoIP phone number of *01288888888 - the rule would translate this to
*01288888888@sipbroker.com.

Note that I have had intermittant success with this method. An alternative solution is to see if your VOIP provider has a sipbroker prefix - for me with VoIPTalk, the prefix is **473, so I have the following rule: <*:**473*>xx.

This will convert *01288888888 with **473*01288888888, and dial using the sipbroker prefix.

Dialing Plans

The Dialing plan is the engine in the middle of the Linksys SPA3102, which is responsible for deciding which calls get routed through which operator. It is set up in the adaptor as a series of tests separated by vertical bars or pipes '|'. The first matching number is used. Each test is in the following format:
<a:b>c<:@dd>

<aa:bb> - Look for aa, and replace with bb
cc - Match the supplied sequence
dd - Identify the address of the destination.

where:
@dd is blank when the default VoIP gateway is to be used
@dd is @gw0 when the PSTN line is to be used
@dd is @gwx when additional VoIP provider on gateway x is to be used
@dd can also be a domain name or IP address, optionally followed by :port number.
[123] Match any of the numbers in the square brackets
[3-5] Match the range in the square brackets
x Match a single digit (0-9)
# Match hash
* match asterisk
. Match the previous digit 0 or more times
S0 - Identifies the end of the test, and means dial immediately (found at the end of cc)
! - Means number is to be blocked (found at the end of cc)
Dx - Insert a delay of x (found in bb or cc)
Example 1:

Use the PSTN for local and national calls, route calls to France through Alpha Telecom (calling card), route all other international calls through VoIP, and provide '#' short codes to override automatic decisions.
(<*:**473*>xx. | lt;0044:0>xx.<:@gw0> | <0033:18330033>xx.<:@gw0> | 00xx. | <#1:>xx.<:@gw0> | <#2:>[*x][*x]. | <#3:1833>xx.<:@gw0> | xx.<:@gw0> )
<*:**473*>xx. - Insert **473 prefix to route any * calls through SipBroker
<0044:0>xx.<:@gw0> - Replace 0044 with 0 and dial through PSTN
<0033:18330033>xx.<:@gw0> - Route calls to France via AlphaTelecom on PSTN
00xx. - Route all other country codes through the default VOIP provider
<#1:>xx.<:@gw0> - Interpret #1 as force through PSTN
<#2:>[*x][*x]. - Interpret #2 as force through the default VOIP provider
(and allow '*' in numbers).
<#3:1833>xx.<:@gw0> - Interpret #3 as force through AlphaTelecom on PSTN
xx.<:@gw0> - Route all other calls through PSTN

Example 2:

Detect and handle VoIP numbers, use the PSTN for local numbers and emergency numbers (e.g. 999), ban premium rate numbers, route national calls through the default VoIP provider, and all other calls through a different provider.
( *xx.<:@sipbroker.com> | [2-8]xxxxxxxS0<:@gw0> | [19]xx.<:@gw0> | 0898! | 0044xx. | 0[1-9]xx. | xx.<:@gw1> )
*xx.<:@sipbroker.com> - Use SIPBroker to route calls starting with *
[2-8]xxxxxxxS0<:@gw0> - Dial local 6 digit numbers using PSTN
[19]xx.<:@gw0> - Dial numbers starting with 1 and 9 through PSTN
0898! - Ban 0898 numbers
0044xx.| 0[1-9]xx. - National calls through Default VoIP Provider
xx.<:@gw1&gt; - Route all other calls through Gateway 1

Example 3:

Using VOIP only, route calls starting with a * via SIPBroker, prefix any 8-digit calls starting with 2-8 with 01480 (a local dialling code).
( <*:**473*>xx. | <:01480>[2-8]xxxxxS0 | xxx. )
<*:**473*>xx. - Insert **473 prefix to route any * calls through SipBroker
<:01480>[2-8]xxxxxxxS0 - Prefix 2xxxxxxx - 8xxxxxxx with 01480
xxx. - Route all other calls through the VOIP connection.

Test Numbers

These test numbers assume you have put SIPBroker in your dial-plan.
  • *011 188888 - SipBroker Test Announcement (Verifies SipBroker routing works)
  • *013 43 720 0101010 - Connects to ENUM Test Gateway
  • *10004 415 1595 - Echo Test / Music (Iceland)
  • *9876 7 xxxx - Conference Call (enter 4 digit pin and # when prompted)
  • *850 100 xxxxxxx - Conference Call without pin numbers
  • *850 8463 - Time Announcer (Bahamas) 
  • *18xx xxxxxxx / *013 18xx xxxxxxx - US/Canada 1-800, 1-866, 1-877, 1-888 Numbers
  • *013 44800 xxxxxx - UK 0800 Numbers
  • *1800 992 7433 - US Aviation Weather Center Weather Reports (1-800)
If you can't get through, check with SipBroker as to whether the VoIP provider is currently active.

Visit http://www.sipbroker.com/sipbroker/action/callIn, and put your SIP account in to the dialog box. Your account must be in the format of account@sipprovider. The web page will cause your phone to be rung.

Links

Sunday, 12 September 2010

Downloading Audible Books and Linux

Audible ( www.audible.co.uk) is an online shop where you can download audiobooks in various formats.

Rating: 1/5 (From the view of a linux user)
  • Supports Windows and Mac
  • Provides a try before you buy service
  • Does not support Linux
  • Uses Proprietary .aa file format, which limits MP3 players you can use.
I selected Cabin Pressure from the BBC website - it said that the file was MP3 / Protected AAC.

I have a Linux computer, and a Sony MP3 player, so wanted the MP3.

I selected the Premium 14 day free trial, and created an account, and noted that on the same page, it is stated:

"We only need your credit card details to verify your identity and prove you are over eighteen, you will not be charged during your free trial. You can cancel anytime by calling us on 0800 08 25 100 or by going online. Even if you cancel, you can still keep your free downloads."

Only after I created the account, I found that I had to download a Windows application - which I did, using the Windows emulator on Linux (wine).

I then found that the files are downloaded in some .aa format, and not MP3 as I originally expected. I did try the download on a friend's Windows machine, and I could play the files on the machine itself, but not get them onto my MP3 player.

I decided that I would take you up on the offer of cancelling online anytime, as you quoted before I checked-out.

When I tried, I got the following message:

"You cannot cancel as you have already accepted free credits."

After logging out and back in again and re-trying the cancellation, I got the following message:

"Cancellation Number: 3775724C222M5 At the end of this billing period, you will no longer be able to buy at AudibleListener prices, but will still be able to download any audio programmes you have previously purchased and place new orders at full, non-member prices. Remember, if you change your mind and want to reinstate your membership, your account information will remain open. You can rejoin at any time through our website or Customer Service."

So, it appears that Audible only works with Windows or Macs, and only supports a limited range of MP3 players. There are programs out there to remove the DRM limitations of the .aa file format, such as GoldWave, iSkySoft, SoundTaxiPro and tunebite, however I just wanted the MP3s, and did not want to have to jump through hoops (and buy a Windows PC) to get the tracks. To give Audible some credit, at least they have a 14 day trial period, so I've just wasted a day, rather than money!

Saturday, 7 August 2010

Netgear DG834 Tech Support

Been in contacts with Netgear Tech Support by email, and it is extremely frustrating. I am trying to get to the point where I can request a feature, but the first thing I need to do is establish that the feature is needed, so I started with a question.

I've got a webserver on my LAN. My netgear router routes web page requests to it from the WAN. When I connect to the webserver (by name), the name resolves to my WAN IP address, and the ADSL modem cannot handle it.

There are four ways forwards:
Run my own DNS server on the LAN (the only box I have is the webserver, and it doesn't have the software)
Put static entries in all the hosts files (I can't do this on a PS3)
Make the netgear dnsmasq process use a local hosts file and put my address in there (dnsmasq is compiled with this feature, it's just not scripted to use it)
Configure the router to route things correctly, i.e. do NATLoopback.

I contacted Netgear, and got frustrated because:
I don't get the same person handling the case throughout.
I keep getting asked the same questions, when the information is in the previous communications.
No matter who responds, the responses all start the same: "Hi, I'm X and ill be supporting you. I have read through your email, and think I have a better understanding of the problem" ... well, b****x - you never read through the previous email, or you wouldn't be asking me the same questions again and again.

Anyway, for your amusement, please see the following:


Dear Steve,

Thank you for choosing NETGEAR. My name is xxxxxx and I will be your support engineer.

I understand that you are trying to access web server from within the network using PS3. I will be working to assist you in resolving the issue you described. Since we are doing this online it may require a few email exchanges before we can resolve the issue. I will do my best to help resolve your case in the least possible time.

Please let us know whether you are able to access Web server from any PC on your LAN.

We found that this product is not yet registered on our website, I kindly request you to register the product on our website to check the warranty details.

Please access the link below to register the product:

https://my.netgear-support.com/myNETGEAR/login.asp

If you are not able to register the product on our website, Please send us the information requested to register the product by us.

Product Model Number:
Product Serial Number:
Date of purchase:
Shop Name:

Please feel free to contact us again if you require further assistance.

Thanks again for choosing NETGEAR. Have a great day!

Regards,

xxxxxx
NETGEAR, Inc.
http://my.netgear.com

8/5/2010 10:12:00 AM
Thanks for your reply. I''ve entered the serial number of the DG834G v5 onto the system.

The answer to your question regarding whether I can connect is no, sort of!

My Network is set up as follows:

Modem External IP (static: 81.5.181.144
Modem Internal IP: 192.168.2.1
Internal Webserver (Freecom FSG3: 192.168.2.5

Router Version:
Account Name: DG834Gv5
Firmware Version: V6.00.25

Firewall Rule:
Service:HTTP(TCP:80
Action: ALLOW always
IP: 192.168.2.5
WAN: Any
Log: Never

I want to connect to www.trumpton.org.uk, which is hosted on 192.168.2.5. If I put a manual hosts entry into /etc/hosts on my PC, it, of course, works fine. If not, I can do the following:

# ping www.trumpton.org.uk
PING www.trumpton.org.uk (81.5.181.144 56(84 bytes of data.
64 bytes from 81.5.181.144: icmp_seq=1 ttl=64 time=0.501 ms

# telnet www.trumpton.org.uk 80
Trying 81.5.181.144...
^C

# telnet 192.168.2.5 80
Trying 192.168.2.5...
Connected to 192.168.2.5 (192.168.2.5.
Escape character is ''^]''.
GET /

So you see, I have the rule set up to connect to the webserver from the WAN.
The IP address correctly resolves to my modem (and it responds to pings.
I can connect to the webserver if I use the internal IP address.
I cannot connect to the webserver port 80 if I use the external IP address.
I believe that there are several ways forward:
Configure the routing function in the modem to route the internal connections back.
Get the dnsmasq to point to a hosts file which I can edit (rather than the default /etc/hosts which is on a squashfs filesystem.
Manually add the internal address to all machines local hosts file (unfortunately not possible on the PS3.

Thanks and regards,
Steve

8/6/2010 3:23:00 AM
Dear SteveNetgear,

Thank you for writing us back.

My name is yyyyyy and I am following up on your support case.

After reviewing the information that you provided, I think I have a better understanding of your issue. Here are some troubleshooting steps that I suggest you try:

Connect your computer hardwired to the router and follow these steps given below:

1) Open Internet Explorer or any other browser and access the site: http://192.168.0.1 or http://www.routerlogin.com/basicsetting.htm.
2) When prompted enter the User name as "admin" and Password as "password" (If you have changed the password then try with that password).
3) Click SERVICES under SECURITY and click on "Add custom service".

Service 1:
Service name: WEB.
Port Type: TCP/UDP.
Start port: 80.
Finish port: 80, click APPLY.

4) Then click FIREWALL RULES under SECURITY.
5) Under Inbound Services, click ADD.
6) Select the Service as "WEB”, Action: Allow always and enter the LAN Server: IP address of the server(192.168.0.x).
7) Click APPLY to save the changes.
8) Follow the same procedure to open the ports for other Services.

Once the settings are updated, check the connection.

To check the firmware version in the Router:

1) Open Internet Explorer or any other browser and access the site: http://192.168.0.1 or http://routerlogin.com/basicsetting.htm. By default, enter the User name as "admin" and Password as "password" (If you have changed the password then try with that password).
2) Under "Maintenance", click "Router status".
3) Note down the Firmware version below the account name.

Please get back to us with the firmware version.

We hope that the steps provided above would help resolve the problem/case. Please feel free to contact us again if you will require further assistance.

Thanks again for choosing NETGEAR. Have a great day!

Please do visit http://kb.netgear.com for any technical queries regarding NETGEAR products

Regards,
yyyyyy
Technical Support
NETGEAR Inc.

8/6/2010 3:48:00 PM
yyyyyy, Thanks for your reply.

In your email, for the first steps 1-8, please see my previous response (8/5/2010 10:12:00 AM) in the section ''Firewall Rule''

In your email, for the second steps 1-3, please see my previous response (8/5/2010 10:12:00 AM) in the section ''Router Version''

I appreciate that you have a large number of these emails to process. You will also find other information in my previous response (8/5/2010 10:12:00 AM).

Best regards,

Steve

8/7/2010 3:38:00 PM

Dear Steve,

Thank you for writing us back.

My name is zzzzzz and I am following up on your support case.

After reviewing the information that you provided, I think I have a better understanding of your issue. Here are some troubleshooting steps that I suggest you try:

Please follow these steps to enable DMZ in the Router:

1) Open Internet Explorer or any other browser and access the site: http://192.168.0.1 or http://routerlogin.com/basicsetting.htm. By default, the Username is "admin" and Password is "password" (If you have changed the password then try with that password).
2) Click WAN SETUP under ADVANCED.
3) Check the option "Default DMZ" and enter the IP address of your computer (192.168.0.x). ( X is IP address of PS3 )
4) Click APPLY to save the changes.

Please click on the link below to find the snapshots for the above steps:

http://kb.netgear.com/app/answers/detail/a_id/1118

Please do visit http://kb.netgear.com for any technical queries regarding NETGEAR products.

We hope that the steps provided above will help to resolve the problem/case. Please feel free to contact us again if you require further assistance.

Thanks again for choosing NETGEAR. Have a great day!

Regards,

zzzzzz
Technical Support
NETGEAR Inc.


8/7/2010 5:13:00 PM
I opened up my PS3 to the internet (as a DMZ) as you suggested, but the PS3 is still unable to connect to my webserver.

I didn''t understand how setting the PS3 up as the DMZ server would help in this scenario, as the PS3 is a client in the connection to my webserver.

My webserver port forwarding rule works fine (you can try it yourself - just connect to www.trumpton.org.uk with a web browser).

What I still cannot do is connect to www.trumpton.org.uk from my PS3, as the web server is on the same LAN network as the PS3, and the dns lookup for www.trumpton.org.uk resolves to the WAN IP address of the modem, not the LAN address.


8/7/2010 9:15:00 PM

Dear Steve,

Thank you for writing us back.

My name is zzzzzz and I am following up on your support case.

Regarding your query, we also request you to contact Sony and check regarding PS3 settings, procedure to access an webserver and also we request you to access the webserver externally with any computers and check for concern, So that we can isolate the issue.

Please do visit http://kb.netgear.com for any technical queries regarding NETGEAR products.

We hope that the steps provided above will help to resolve the problem/case. Please feel free to contact us again if you require further assistance.

Thanks again for choosing NETGEAR. Have a great day!

Regards,

zzzzzz
Technical Support
NETGEAR Inc.

8/7/2010 9:52:00 PM
Thanks for your response.

I had already contacted Sony, and they have confirmed that my PS3 is operating correctly. In fact, I can connect to every website under the sun, except for www.trumpton.org.uk (because it is on the LAN side of my Netgear, not the WAN side).

If you read my first response, you will see that the problem also exhibits itself on a PC.

If you read my last response, you will see that I have verified that my webserver operates correctly (I did this via telnet to port 80 from freeshells.org).

I would appreciate it if this could be dealt with by one single person, rather than several different ones.

I would also appreciate it if you would read the previous emails, as I keep being asked the same things again and again.

Thanks and regards,

Steve

8/7/2010 9:55:00 PM

Dear Steve,

Thank you for writing us back so quickly.

My name is zzzzzz and I am following up on your support case.

After reviewing the information that you provided, I think I have a better understanding of your issue. Here are some troubleshooting steps that I suggest you try:

Please connect your computer wired to the router and follow the steps to reduce the MTU size on the router:

1) Open Internet Explorer or any other browser and access the site: http://192.168.0.1 or http://routerlogin.com/basicsetting.htm. By default, the username is admin, the password is password (If you have changed the password then try with that password).
2) Go to WAN Setup.
3) Reduce the MTU to 1300 and apply the changes.
4) You can also try other MTU values like 1492, 1440, 1400 etc.
Please try with different MTU values and check the status.

Please click on the link below to find the snapshots for the above steps:

http://kb.netgear.com/app/answers/detail/a_id/1153/

Please do visit http://kb.netgear.com for any technical queries regarding NETGEAR products.

We hope that the steps provided above will help to resolve the problem/case. Please feel free to contact us again if you require further assistance.

Thanks again for choosing NETGEAR. Have a great day!

Regards,

zzzzzz
Technical Support
NETGEAR Inc.

8/7/2010 10:16:00 PM
Thanks for your response.

I have changed the MTU from between 1300 and 1458 (which is recommended by my ISP).

There has been no change, but I don''t see why there should be - www.trumpton.org.uk is still resolving to my WAN IP address, and the server is actually on my LAN (the modem routes through as per the firewall rule for port 80 for everyone on the internet, just not for me on the LAN).

What I am looking for is this: http://www.puffinsoft.com/forum/viewtopic.php?t=404

Ot the ability to override a DNS lookup with the internal IP address.

Thanks, Steve

Saturday, 12 June 2010

Mounting CIFS Directories in Linux

As Root, create /root/smbcredentials, with the lines:
username=...username..
password=..password..
and set the permissions: chmod 700 /root/smbcredentials

Edit /etc/fstab, and append the line:
//netbiosname/sharename /media/sharename cifs credentials=/root/smbcredentials,iocharset=utf8,file_mode=0775,dir_mode=0775 0 0
Mount the new drive with: mount -a

Saturday, 22 May 2010

Playing BBC Radio Streams from the command line

BBC provides xml files for program lists, and media formats, so to play a required program, you have to follow a series of links.

Playing Program with Real and MPlayer

Note: real is now legacy. The BBC support WMA and Flash, so expect the real player to be phased out at any time. Real format is encoded at 44.1kbps (certainly on Radio 7). The URL appears to be a shim - pause is supported, however, fast forward and rewind do not seem to be.

# Download media list
wget http://www.bbc.co.uk/radio/aod/availability/bbc7.xml

# Parse downloaded file, and find program required
# Follow mediaselector link, and download file
wget http://www.bbc.co.uk/mediaselector/4/mtis/stream/b00sdvs3

# Find audio/real media section, and download connection href
wget http://www.bbc.co.uk/iplayer/aod/playlists/3s/vd/s0/0b/RadioBridge_uk_2300_bbc_7
.ram

# Look inside the RAM file to get rtsp link, and play it with mplayer
mplayer rtsp://rm-acl.bbc.co.uk:554/bbc7coyopa/bbc7_-_monday_0000.ra?timestamp=127405
4718&pid=b00sdvs3&BBC-UID=248baf8894393445d52cf093213a72b7d0df08b660c0c2710208a04443d
c5078_n&SSO2-UID=
Playing Program with WMA and MPlayer

The quality of the wma stream is 96Kbps (i.e. higher than the real stream). Pause is supported, however, there is still no fast forward or rewind.
# Download media list
wget http://www.bbc.co.uk/radio/aod/availability/bbc7.xml

# Parse downloaded file, and find program required
# Follow mediaselector link, and download file
wget http://www.bbc.co.uk/mediaselector/4/mtis/stream/b00sdvs3

# Find audio/wma media section, and play it with mplayer
mplayer mms://wm-acl.bbc.co.uk/wms/bbc7coyopa/bbc7_-_monday_0000.wma

Saturday, 6 February 2010

Akondai / KAddressBook / Google Error

Background

Following the installation of Akondai, I can sync with google and fetch / update calendar entries, and fetch contacts, but when I try to add the new contact "Google Test" with a phone number of "1234" on my PC using KAddressbook, I get an error - "Failed adding new contact".

Information Gathering

I run the Akondai Console, and enable debugging, and I see:

NotificationManager::notify ( Item (678, ) in collection 7 added )

AgentBase(akonadi_googledata_resource_1): Failed adding new contact.

And

0x9b81c50 * OK Akonadi Almost IMAP Server [PROTOCOL 15]

0x9b81c50 0 LOGIN "kontact-476707713"

0x9b81c50 0 OK User logged in

0x9b81c50 1 BEGIN

0x9b81c50 1 OK Begin completed

0x9b81c50 2 APPEND 7 0 (\MimeType[text/directory]) {141}

0x9cf8698 + Ready for literal data (expecting 141 bytes)

0x9b81c50 2 [UIDNEXT 678 DATETIME "06-Feb-2010 16:46:56 +0000"]

0x9b81c50 2 OK Append completed

0x9b81c50 3 COMMIT

0x9b81c50 3 OK Commit completed

0x9bba558 3931 X-AKLSUB 7 0 ()

0x9bba558 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9bba558 3931 OK List completed

0x9bba558 3932 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9bba558 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9bba558 3932 OK UID FETCH completed

0x9bba558 3933 X-AKLSUB 7 0 ()

0x9bba558 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9bba558 3933 OK List completed

0x9bba558 3934 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9bba558 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9bba558 3934 OK UID FETCH completed

0x9bba558 3935 X-AKLSUB 7 0 ()

0x9b0b3c0 635 X-AKLSUB 7 0 ()

0x9bba558 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9bba558 3935 OK List completed

0x9b95838 1335 X-AKLSUB 7 0 ()

0x9b95838 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9b95838 1335 OK List completed

0x9bba558 3936 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9b95838 1336 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9b0b3c0 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9b95838 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9bba558 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9b0b3c0 635 OK List completed

0x9b0b3c0 636 UID FETCH 678 FULLPAYLOAD CACHEONLY EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9bba558 3936 OK UID FETCH completed

0x9b95838 1336 OK UID FETCH completed

0x9b0b3c0 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9b0b3c0 636 OK UID FETCH completed

0x9c79110 2712 X-AKLSUB 7 0 ()

0x9c79110 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9c79110 2712 OK List completed

0x9c79110 2713 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9c79110 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9c79110 2713 OK UID FETCH completed

0x9c79110 2714 X-AKLSUB 7 0 ()

0x9c79110 * 7 0 (NAME "akonadi_googledata_resource_1" MIMETYPE (text/directory) REMOTEID "google-contacts" RESOURCE "akonadi_googledata_resource_1" CACHEPOLICY (INHERIT true INTERVAL -1 CACHETIMEOUT -1 SYNCONDEMAND false LOCALPARTS (ALL)) )

0x9c79110 2714 OK List completed

0x9c79110 2715 UID FETCH 678 FULLPAYLOAD EXTERNALPAYLOAD (UID REMOTEID COLLECTIONID FLAGS SIZE DATETIME)

0x9c79110 * 678 FETCH (UID 678 REV 0 REMOTEID "" MIMETYPE "text/directory" COLLECTIONID "7" SIZE 141 DATETIME "06-Feb-2010 16:46:56 +0000" FLAGS () PLD:RFC822 {141} BEGIN:VCARD CLASS:PUBLIC FN:Google Test N:Test;Google;;; NAME:Google Test TEL;TYPE=HOME:1234 UID:7sKGnrCVCK VERSION:3.0 END:VCARD )

0x9c79110 2715 OK UID FETCH completed

0x9b0b3c0 637 UID STORE 678 NOREV (REMOTEID.SILENT "" DIRTY.SILENT false PLD:RFC822.SILENT {141}

0x9b95d78 + Ready for literal data (expecting 141 bytes)

0x9b0b3c0 637 OK DATETIME "06-Feb-2010 16:46:56 +0000" STORE completed

0x9c0c9e0 336 STATUS 7 (MESSAGES UNSEEN SIZE)

0x9c0c9e0 * STATUS "akonadi_googledata_resource_1" (MESSAGES 60 UNSEEN 60 SIZE 111201)

0x9c0c9e0 336 OK STATUS completed

When I ise the Akondai console to look in the database, I can see the new entry I have added:
BEGIN:VCARD

CLASS:PUBLIC

FN:Google Test

N:Test;Google;;;

NAME:Google Test

TEL;TYPE=HOME:1234

UID:7sKGnrCVCK

VERSION:3.0

END:VCARD

Diagnosis


As the entry successfully gets placed into the Akondai sql database, it is assumed that the problem is caused by the communication between Akondai and google.

I know that the authentication link is OK, as the rest of the contact information came from google in the first place. Plus, I can modify an entry on google, and see the results within Kontact.

Research

It appears that there is a problem with the library that communicates with google. The libraries ARE called akonadi-googledata libgcal.

There is currently a known feature whereby contacts that have 1 or more phone number, or 1 or more email address do not synchronise correctly.

At present, I am assuming that this is the same cause as above.

The 'broken' version of libgcal is 0.98 and akonadi-googledata is 1.0.1, and the latest information can be found here: http://code.google.com/p/libgcal/issues/detail?id=50







Friday, 5 February 2010

Kontact /KMail Sync with Akonadi

Introduction

Akonadi is a program that sits between applications and enables them to share calendar and contact information in an application indepdendent way.

I have used it to sync Kontact (KMail etc...) with Google Mail contacts / calendar and in turn, synced that with my Nexus One Android phone.

This note describes how to get Kontact to sync with Google, however, for me, there is still a significant bug: When I change contact details within Kontact, Akonadi crashes, and the contact information is removed from Google (although it stays in Kontact).

There is currently a known bug in libgcal / akonadi-userdata (versions 0.93 & 1.0.1), which are used to synchronise with Google. The bug means that any contact with more than one email address or telephone number, won't synchronise correctly. More information can be found here.

Install Akonadi


By default, Mandrive 2010 comes pre-installed with Akonadi, but if your system hasn't got it, here is what I am using:
  • akonadi-1.2.1-5mdv2010.0.i586
  • mysql-core-5.1.42-0.1mdv2010.0.i586
  • mysql-common-5.1.42-0.1mdv2010.0.i586
Now interestingly, akonadi requires an sql server (mysqld), however, it doesn't appear to be used for the calendar sync, nor for the contacts retrieval. If you want to update contacts on your PC, however, this is where the mysqld comes into play.

Run AkonadiTray

Launch AkonadiTray from the start menu
Select Start

Get mysqld to Work Correctly

In a terminal or console, type the following
akonadictl stop
mysql_install_db --datadir=$HOME/.local/share/akonadi/db_data
akonadictl start
Add Your Google Account

On the Akonadi Resource Configuration tab, select Add, and add the Google Calendar Resource.

When prompted, enter your google username (ignoring the @gmail.com or @googlemail.com), and your google password - select OK.

The system immediately connects, and if your username or password is wrong, you will be told so here.

Repeat the activity for the Google Contacts Resource, and that's it, Akonadi is configured.

Configuring Kontact

Open Kontact, and go to the Calendar application. Near the bottom of the screen, is the area where you can select which calendar to use. Click on the green '+' to add a new one.

Now, select the Akonadi entry, which will probably be at the top of the list.

Give the entry a meaningful name (e.g. Google Calendar), and create it.

Make sure the calendar is enabled - you can also set it to be the default one if you wish.

That's it - everything synced.

The procedure for adding Contacts is identical (but the process is performed on the Contacts page, of course).


Auto Running

To automatically launch the akonadi server when you start Kontact, it is essential that you make sure that Akonadi is the default for Contacts and Calendar.

Starting Again


If you have been messing around, and wish to start over, this is what you need to do:

Shut down Akonadi (shut down the tray application, and kill all the akonadi processes).
Shutdown Kontact and its applications (KMail, KOrganizer etc...)
Shutdown the Kontact systray application (e.g. KOrganizer Reminder)
Remove the akonadi files in the hidden directories:
  • .kde4/share/config/akonadi*
  • .local/share/akonadi/*
  • .config/akonadi/*
Restart the Akonadi server (re-launch the tray application)

Typical SQL Errors

These errors may be seen in the SQL log, and are addressed by the blog above:
100206 10:25:29 InnoDB: Started; log sequence number 0 1055498
100206 10:25:29 [Warning] Can't open and lock time zone table: Table 'mysql.time_zone_leap_second' doesn't exist trying to live without them
100206 10:25:29 [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
100206 10:25:29 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.42-log' socket: '/home/user/.local/share/akonadi/db_misc/mysql.socket' port: 0 Mandriva Linux - MySQL Standard Edition (GPL)

Saturday, 23 January 2010

Adding local DNS entries to a Netgear DG834

There is a program running on your DG834 called dnsmasq, which is used to forward DNS requests to the appropriate servers. The program can optionally use one or more local hosts files, so if you are hosting a webserver at home, for example, you can add it to the hosts file, and any LAN requests will return the LAN ip address, rather than the internet one.

By default, at least on the DG834Gv5, the option to add your own entries is not enabled.

Log into your netgear with telnet.


With a web browser, connect to http://your-modem/setup.cgi?todo=debug
Telnet to your modem: telnet

Create a new hosts file with local addresses:

mkdir /var/etc
cp /etc/hosts /var/etc/hosts
echo "192.168.1.10 www.myinternalwebserver.com" >> /var/etc/hosts

To check it works, restart the DNS Masquerade program:

killall dnsmasq
dnsmasq -h -n -c 0 -N -i br0 -r /tmp/resolv.conf -u r -H /var/etc/hosts

Making things permanent:

Now, there is a problem making this permanent as the root filesystem is 100% full, but what you would need to do is:

Mount the root disk read/write: mount / -o rw,remount
Copy the hosts file over: cp /var/etc/hosts /etc/hosts
Reboot

Thursday, 21 January 2010

Android Settings for O2

Settings required to get internet working on the go with the Google Nexus One, which is running android version 2.1 are shown below.

3G Connection Setting

Settings / Wireless and Network / Mobile Networks / Access Point Names.
Hit the menu button and select new APN, and set the following:
  • Name: O2 Mobile Web
  • APN: mobile.o2.co.uk
  • Proxy:
  • Port:
  • Username: o2web
  • Password: password
  • Server:
  • MMSC:
  • MMS proxy:
  • MMS port:
  • MCC: 234
  • MNC: 10
  • Authentication type:
  • APN type:
Select 'back', and enable 'Data roaming'.

That's it for 3G settings.

Wednesday, 20 January 2010

Google Android Voice Recognition


My new Google Nexus One phone is running Android 2.1, and makes use of the Google beta voice recognition.

Summary: To date, I give it a 6/10. It didn't work too well for me, but shows significant promise.

For this facility, the actual processing is performed online - your phone captures a sentence, uploads it to a voice recognition service, and it is processed, and the results sent back (very quickly).

I should also point out that voice recognition that is performed to dial people from your address book, does not require an online connection, and is handled within the phone itself, for example, I can say 'Call Steve Clarke', and it works quite reliably.

For me, the online software, which is used for text and email dictation, and GPS destination searching, is a bit of a struggle:

I said: "This is the google voice recognition software. So far so good. I have a very mild lancashire accent and this software seems to struggle with long words and complicated sentences."

It typed: "This is the google voice recognition software. So far so good. I have a very mild length transaction. Famous software seems to struggle with long words uncomplicated sentences."

It seems to me that the software struggles with spoken contractions of words, for example, I said "andcomplicated". I also suspect that it struggles with words that aren't in the US based dictionary, for example, 'Lancashire', which is pronounce by most people either lank-i-shuh, or lank-uh-shuh.

Nice try though, and I look forward to upgrades on the processing server which will recognise me !

All in all, it is much better than the Windows Vista recognition - see my blog on 'Windows Vista does not like northeners'.

From the looks of it, things are getting better. Take a look at a 2008 article on the Telegraph website.

Sunday, 17 January 2010

O2 Mobile Speed

Just ordered a Google Nexus One, and have upgraded my O2 contract to include Unlimited data access.

Unlimited is a term that really should not be used, as there are limits: You have a 1G/month download limit, and there are other limitations in the Ts&Cs, such as not being allowed to use VOIP.

Once I changed over, O2 sent me some new phone settings, which I applied to my E90. By default, the browser access point was "O2 Postpay WAP". I also tried the "O2 Mobile Web" settings - see below for details:

Speed Testing With A Nokia E90, and O2 3G and 3.5G connections

Performing the speed test with http://text.dslreports.com/mspeed, at 14:30 - 15:00 on Sunday 17th January:

With the "O2 Postpay WAP" access point, I initially had a 3.5G connection, but it soon dropped back to 3G:
200K file: waited 2 minutes & gave up
200K file: 347kbps, 1.054s latency
400K file: 761kbps, 0.583s latency
1M file: waited for 8 minutes & gave up
400K file: 688kbps, 0.567s latency
200K file downloded in 2.7s: 608kbps
200K file: 738kbps, 0.611s latency
With the "O2 Mobile Web" access point, I have a 3.5G connection:
100K file downloaded in 2.2s: 372kbps
1M file: 247kbps, 0.641s latency
1M file: 265kbps, 0.787s latency
100K file downloaded in 3.2s: 256kbps
400K file: 211kbps, 0.675s latency
400K file: 144kbps, 0.695s latency
1M file: 531kbps, 4.564s latency
Back to the original settings "O2 Postpay WAP":
100K file downloaded in 1.594s: 514kbps
400K file: waited 3 minutes and gave up
100K file downloaded in 2.096s: 390kbps
200K file downloaded in 3.138s: 522kbps
400K file: 541kbps, 0.629s latency
1M file waited 3 minutes and gave up
And finally, back to "O2 Mobile Web"
1Mb file: 448kbps, 0.644s latency
400K file: 576kbps, 1.136s latency
400K file: 377kbps, 0.704s latency
Now, it looks like there is a choice between slow or un-reliable:

"O2 Mobile Web" Average Speed 343kbps, 100% success
"O2 Postpay WAP" Average speed 638kbps, 66% success

What I don't currently know is how much of the page loads is attributed to the E90 and the server at the other end, and how much is attributed to the network connection.

Expected Performance

The different capabilities of the protocols / connections are as follows:

GPRS = 2G - up to 114Kbps
EDGE = 2.5G - up to 560Kbps
UMTS = 3G - up to 2Mbps (believe O2 is a maximum of 384Kbps)
HSPA = 3.5G - 1.2Mbps to 84Mbps (supposedly 3.6Mbps for O2 as of today)

Performing the same tests with a Google Nexus One

The following tests are going to be performed ...

Before, and after the Google Nexus One tests were performed, the E90 was used to benchmark the network capabilities at the time of the test.

Links