NinerNet Communications™
Blog

Corporate Blog

Don’t register dot-ca domains, especially from OpenSRS

25 June 2026 06:55:52 +0000

It’s difficult to make recommendations like this, because it’s a recommendation against two very big and rich (although not respected) companies, but I’ve dealt with both for over thirty years, and I think that gives me some significant say in the matter. I made the same recommendation for dot-zm domains sometime ago, and I had very good reasons then, but once we were accepted into the very elite club of domain registrars, we rescinded our recommendation, and now we strongly recommend that you register your dot-zm domains through Preworx, the best and only sane registrar in Zambia.

I’ve had problems with CIRA since about 1 December 2000 (which you’ll recognise as the day they took over dot-ca from John Demco and UBC), and that includes saying one thing and doing another. Some of them are documented (Dot-ca domain registry changes, 12 October 2010), and some I’d have to piece together almost three decades later from documentation I still have on my machine, or can piece together from data I will eventually recover from my back-up provider.

My issue today was that I eventually gave up on waiting for them to reply to an email. I opened a support ticket in the new usual manner at OpenSRS/Tucows — NinerNet’s domain registrar — on 5 June 2026. On 10 June — only five days later — I received my one and only reply from them, asking for a PIN that I could view in my control panel. Sure, no problem, I’ll get that for you. I got it and sent it to them, expecting (after five days) that I’d get an immediate response on the fast-as-the-speed-of-light communication medium that email is, and we’d have my issue sorted out within five minutes. But … nothing. Here I am twenty days later (that’s almost three weeks), and nobody has checked to see if my PIN is correct.

So several days later, on 16 June, after warning OpenSRS/Tucows, that I would do so, I eventually opened another support ticket, this time with CIRA. I eventually, on 19 June (only three days later) received again my one and only reply, to ask for information that I had already given them in the contact form. I replied with that information, and the suggestion that if they ask for information on a contact form, it makes sense for them to use it. Crickets.

So after being kept in suspense by both OpenSRS/Tucows and CIRA for a combined total of 30 days, today I did that radical thing called picking up the phone. After listening to recorded BS for two full minutes, I eventually started talking to Gerard, who apparently has never heard of courtesy and went silent while he was doing stuff instead of being polite enough to say, “One moment, please, while I look up some information.” That very quickly lead to us getting our wires crossed, him talking over me, then me talking over him, then him sarcastically requesting that I let him finish, even though his solution to my problem was to contact the registrar, even though their ignoring me was the very reason I was contact the registry! Eventually he managed to get out that I just need to be patient (!) and wait for their email. So absolutely no solution from the registry, as I still haven’t heard from them the next day. I guess they’re blacklisted.

So in frustration, after that ten-minute phone call, I went back to my OpenSRS/Tucows control panel to try something. The records for two of my domains had, somehow, turned from “records” that stated the data associated with those domains and their status, into “drafts”. That was precisely why I had contacted OpenSRS/Tucows, to get them to explain to me why, and to turn them back into “records” I could work with. What I eventually noticed, is that when I have a “draft” open, the whole screen acts as a sort of modal window/dialogue, and besides the relatively obvious save/submit button(s) in the bottom, right hand corner, there is a “delete draft” link in the bottom, left hand corner! Actually, I did notice this before, but this lead me to contact OpenSRS/Tucows to ask my easily answerable question, because I was concerned that if I deleted my draft I might be deleting the domain too, which was definitely not what I wanted to do!

At my wits’ end now, I decided to throw caution to the wind and click the “delete draft” link. Right away I had the answer to my question: I was not deleting the domain, but just whatever work I had performed a few weeks ago. (I don’t even remember what it was; I don’t care any more.) So now I could do whatever I wanted with the domain, and I renewed it. And then I immediately noted the domain’s “auth code”, and I transferred it to a new registrar. And then I deleted the draft of a second domain, and immediately transferred it as well. There is just no reason for me to stay with OpenSRS/Tucows any more.

That leaves me with 21 domains in my account, which I will transfer out piecemeal over the next few months as they come up for renewal. The vast majority of my domains are elsewhere, but that registrar (RRPproxy) is on borrowed time too.

I did make one mistake; transferring one domain out so soon after I renewed it meant that, although I paid for a year’s renewal at my new registrar, I didn’t get that renewal. I should have known that, as I have encountered this little wrinkle in the domain process before, despite how infuriating it must be to be surprised by this for the first time. No big deal though; whatever it cost me to get away from OpenSRS/Tucows, it was worth it.

Tucows used to be not just a good company; they were an excellent company, and I say that about precious few companies these days. They got the domain business; that’s how they’re the fourth biggest domain registrar in the world. They used to be the third though (and I think the second before that), and with the way they’re going, they’ll be the 33rd next week and then the 133rd the week after that. Elliot Noss specifically got the domain business, but OpenSRS/Tucows seems to have been taken over for quite a few years by bean counters who don’t get the domain business. Before the bean counters came along, OpenSRS was a leader in our business. They held ICANN’s feet to the fire, and they were responsible for so much good in ICANN. And now they’re coasting. I used to be able to whip up a quick email to a particular email address (you know the one), go to bed, and know without fail that I’d have an answer, and maybe even a resolution, in the morning. But no more. They improved their support by requiring us to use a form, and they think that three weeks (and counting) is just fine to wait for them to get up off their fat asses to reply.

OpenSRS joked (when they still had a sense of humour) that the eighties called, and they wanted their control panel back. We’re now almost in the 2030s and the eighties still want their control panel back. That control panel I described earlier is still only half done, and I still have to use the eighties version to get some stuff done. It’s 2026 and it’s not a joke any more.

  • Elliot, your control panel is a joke.
  • Your support is a joke.
  • There are kids today who don’t even realise that you’re responsible for much of the good in ICANN.
  • I’ve lost patience with you.
  • I’m done.

As for CIRA, they’re not even worth wasting any ink over. If CIRA, who go on about being a “member-based” organisation as if it actually meant they cared about their members, went out of business today, nobody would notice, but if OpenSRS/Tucows went out of business today, everyone would notice.

WHOIS contact form blocked

1 January 2026 03:50:32 +0000

For some time now the main registrar we use has been masking domain ownership in the WHOIS and providing a default email address for all registrants on the domain-contact.org domain. They provide a contact form on that domain as well. However, spammers have been using that form to spam because, apparently, Centralnic doesn’t care to protect registrants from spam and therefore protect it from automated submissions.

So we are adding domain-contact.org to the spam filter. This will send all email from that domain to the quarantine.

If, for some bizarre reason, you count on contact from that form — which, in thirty years, we think nobody ever does or has — please contact us to advise us, or know that you need to check your quarantine on a regular basis.

Some people can’t even run nameservers, Weebly for example

28 December 2025 20:17:13 +0000

One of our clients decided to host their website on Weebly. Our experience has been to let people follow the instructions on the websites of people like Weebly, Wix, WordPress.com, etc., to use their nameservers under a number of understandings:

  • Such web-building websites claim that they need the ability to change the IP address of the user’s website at short and/or unannounced notice, and giving them control of the nameservers allows them to do this to minimise downtime, and
  • They give the client control over their nameservers under a control panel, so that the clients can add and manage nameserver records at will.

Unfortunately, as of this month (December 2025), Weebly’s nameserver controls were not working. Nameservers are used for a number of routine and esoteric purposes; you can, for example, create a TXT record that says, “Hello world!”, which does nothing but say hello! 🙂 One of the suppliers of a few of our clients actually does this on one of their domains, if you can believe that:

user@machine:~$ dig +short txt resrequest.co.za
“Hello world!”
user@machine:~$

They don’t even create a TXT record that does anything useful, like direct users to the TXT record of resrequest.COM for useful information about a secondary domain that they use in certain circumstances.

Anyway, one of the more routine reasons to create any kind of record is to show certain information to other users (which include people and machines) for the purposes of authentication, which is why some organisations have you create TXT records like “google-site-verification=y0se7y0r7ygncCNYW0RE09T078989c90nmt89cnsygf”. But if you have no control over your DNS — which was the case with our client — you can’t create such a record, and so you can’t authenticate yourself with Google. In our case the client couldn’t create two CNAME records which are required by the email system to authenticate your domain. The Weebly control panel seems to provide this functionality, but it doesn’t work; the records you create do not exist in the DNS, and they don’t even appear in the control panel. Since the domain was created through the Weebly system, access to configure the domain wasn’t available through the registrar, so we had to transfer it immediately to take control so that we could create the necessary CNAMEs. Now the domain does not use Weebly’s nameservers, which means that their website could be down one day if Weebly chooses to change its IP address, but their email was down for a week or two because they couldn’t create the two necessary CNAMEs.

So it depends what’s more important to you: your website or your email. Weebly has demonstrated their incompetence not only by having a control panel that doesn’t work, but by their support personnel giving our client an absolutely BS excuse that reminded me of another client being told years go that something he was trying to do wouldn’t work because “the Internet was down”! The Internet was down! The whole Internet! My god. In this case the client was told that something completely unrelated (the DNS) was broken because someone sent a plain-text email. I can’t even connect the dots on that one because the dots are all over the place; there is no way that sending a plain-text (or even HTML-formatted email) can affect the DNS, as the two systems are not connected, related or affected by the information in one system affecting the other. Maybe the information was relayed to me incorrectly, but to me this sounds exactly like someone trying to baffle the client with BS.

So, in the future, we will advise clients using Weebly not to use their nameservers, but to use ours, where they have working control over the DNS for their domain.

We have, once again, blocked all email from a Centralnic domain sold as a ccTLD

19 December 2025 06:25:00 +0000

Previously we blocked sa.com and za.com, but we are now blocking us.com as well. This means that any email from @spammer.us.com will be blocked. We were inundated with spam from us.com sub-domains recently, and we won’t put up with it any more.

Sorry, not sorry.

Payment dates

21 November 2024 23:20:19 +0000

Executive summary: Please pay your invoice on or before the due date!

We are writing this brief post to address a trend we have noticed in recent months. I want to make clear, though, this it does not apply to most of our clients, but it does apply to a significant number of them. However, it’s something everyone needs to know.

The trend is a tendency to leave payment of your invoice until what some people seem to think is an acceptable last minute.

I will admit that I myself have said a few times in the past that you have until the expiry date of your service to pay your invoice. My bad. This does apply to services that are 100% under our control — e.g., shared hosting (not VPS hosting though) — but if you wait until the expiry date of a service that is partially under the control of a third party — e.g., a domain registrar, a certificate authority, etc. — you are taking a big chance if you wait until the expiry date, because the chances are now significant that the service provided by the third party will go offline for a time.

If you look at our “billing procedures” page you will see that we aim to send our invoices on the 15th of the month. I admit that we don’t always meet that self-imposed deadline, but even if we miss it by a couple of days, this doesn’t affect the fact that our invoices must be paid in good time before your services expire. (Please keep a record of those dates and pay attention to our reminder emails.) Let’s look at the first example on that page, with an expiry date of 10 March. If it’s only your shared hosting that expires on that date, you get a one-week grace period (unless you’re in the process of transferring out), so even if you pay a day or two late, your hosting will not be interrupted.

However, if it’s your domain registration that expires on that date, it will go offline sometime on the expiry date between 00:01 and 23:59. So if you pay a couple of days late, your domain will be offline for a couple of days. If you’re one of the few people who don’t mind that, no problem; if you do mind that — as, I believe, most of you do — don’t wait until the last minute! Seriously.

The big however here though is that the registrar we currently use — which has changed names so many times in the last few years it’s difficult to keep track, but they currently go by the names “Team Internet” and/or “CentralNic Reseller” — actually deletes some domains before they expire! We currently know (without being informed in advance, mind you) that they delete dot-africa and dot-za domains two days before they expire. Why? We have no idea. We brought this to the attention of the dot-africa registry (Registry Africa Limited) and the dot-za registry (ZA Registry Consortium (Pty) Ltd.) earlier this year and, while they initially seemed to understand our outrage, six months later they sided with the registrar who is selling 365 days, but only providing 363 days. This is because the registrar has re-written contracts to redefine the term “year” to be whatever they want it to be. (They used to do this with dot-ca domains as well, but when we complained to the dot-ca registry, the Canadian Internet Registration Authority did the right thing and put our registrar in their place and made them comply with the dot-ca domain lifecycle.)

The result is that clients with dot-africa and dot-za domains who thought they had until the day their domains expired to pay their invoice, found that not only did their domains stop working two days before they were supposed to expire, but they also had to pay additional fees to have the registrar “un-delete” their domain, and wait for them to do so. These fees add up to several years worth of renewal fees. This also used to happen to dot-ca registrants until we complained and won that case.

It is also worth pointing out that if you acquired your domain through a “drop catcher” — a company that snaps up expiring domains the moment they “drop” — you also need to ensure that you pay your invoice well before your domain expires, at least a week if you’re paying by an electronic method. This is also because the domain registrar that almost always catches these domains (Network Solutions, aka Netsol) also engages in subterfuge to prevent our normal process of transferring your domain to our registrar, and also charges additional fees that add up to several years worth of renewal fees. If you wait until the day your domain expires to pay your invoice, you will find that we will have to issue a new invoice to you to pay these fees before we can transfer and renew your domain.

But the point of this post — which is much longer than I envisioned — is this: don’t delay paying your invoice until the day your service expires or a day or two beforehand. Sure, if the money sits in your bank account for a few more days, and you’re lucky enough to earn interest on your balance, you’ll earn a few cents or ngwees more, but at the risk you’ll have to pay significantly more dollars or kwachas! Is that worth it? No, it’s not.

Our invoices used to include a “PLEASE PAY BY” date, three weeks after the invoice date. That was our overly polite way (although that’s not the full reason) of describing a due date. Because most of our services are prepaid, and we stopped charging interest on late payments many years ago, we became quite loosey-goosey. However, we have gone back to describing that date as a “due date”, and on that date the clock starts; every day you wait to pay after that date increases the risk that your now-unpaid service will go offline when it expires.

DON’T TAKE THAT CHANCE. PAY BEFORE THE DUE DATE!


Update, 2024-11-25: Clarified that you only get a week’s grace period on shared hosting if you are not already in the process of transferring your hosting out.

Impending registrar transfer of your dot-ca domain(s)

16 November 2024 10:39:38 +0000

This post confirms a mass email we have just sent to a number of registrants of dot-ca domains.

We have decided to change the registrar with which we register dot-ca domains. We are actually returning to OpenSRS; the reasons we left them in 2018 have never really been fixed, but we maintained our account with them because, despite their operational issues, they are a decent registrar that generally tries to do the right thing by dot-ca registrants. Considering the trouble we have had with our current registrar — who go by more names than you can shake a stick at, but they include “CENTRALNIC CANADA INC“, “Team Internet” and “CentralNic Reseller” — this is a significant improvement! The new (old) registrar is, as stated above, OpenSRS, but they also trade under the name of their parent company, Tucows.

We are letting you know that you (as your domain’s owner, or registrant) need to approve this transfer because you ultimately have choice in the matter and have control over your domain. As your domain advisor and host, we recommend that you accept this transfer because it means that pretty much everything will stay the same for your hosting and billing, and the domain renewal you have already paid for will take place at the same time. Additionally, approving this transfer will not interrupt your domain’s service in any way. This is how we continue to serve you and provide our services.

One of the ways in which OpenSRS has not improved — it blows my mind after six years — is that they still can’t seem to decide from which domain they send their emails! You will receive emails from addresses on the opensrs.email and opensrs.org domains. After your domain is transferred you will go back to receiving emails from the “domainsupport” address on the niner.net domain. The initial message will have the subject, “Transfer Request for DOMAIN.CA”, where DOMAIN.CA will be your dot-ca domain. Please click the approve.domainadmin.com link in the message, select the option to approve the transfer and enter your “transfer key”, which we will send to you separately immediately after this message.

After the transfer completes a few minutes later you will also receive confirmation emails from the Canadian Internet Registration Authority (CIRA) using the email address info_AT_cira.ca. All of these messages that you’ll receive around the time you approve the transfer(s) are legitimate, but if you have any questions please do contact NinerNet support.

Thank-you for following these instructions, and thank-you for your continued business.

Adventures in blocking spam

7 May 2024 06:42:30 +0000

As we’ve said outright and intimated over the years, the battle against spam is never-ending.

One thing we have noticed in the last year or so is that a huge amount of spam comes from certain TLDs (top-level domains), but blocking entire TLDs is a bit radical. We have generally avoided doing so, but the time has come to block the following two alternative TLDs:

  • sa.com, and
  • za.com

These are simply two regular domains, but they are owned by CentralNIC (now “Team Internet” because they can’t make up their minds about how they want to be known) who market them as TLDs — just as NinerNet markets the zam.co domain as an alternative TLD (actually, SLD, second-level domain) for Zambia. Therefore, you can buy the sub-domain your-name.sa.com and your-name.za.com. CentralNIC doesn’t seem to make even a cursory attempt to stop spammers from using their domains to spam, so we now block all messages sent from all addresses on those two “pseudo” TLDs — e.g., spammer1@spammer1.sa.com and spammer2@spammer2.za.com. We’re considering blocking the .top TLD as well, for the same reason, but we haven’t yet. You can certainly block entire TLDs from reaching your email addresses as well, if you feel this rather extreme move will benefit your domain.

If you happen to correspond with a legitimate correspondent on one of those alternative TLDs, please contact NinerNet support and we will work with you to address the problem you will now have communicating with them.

Thanks for your attention to this matter.

Zambian domain registrars again taking detrimental action

28 November 2020 04:23:18 +0000

In April we informed you that we had achieved ZICTA accreditation through our partner Preworx. The primary motivation for doing this was to provide reliable domain registration service to Zambians because, as is shown in this blog, the Zambian ccTLD (country code top-level domain) has been very badly managed by the accredited/registered ISPs that provide registrar service. By becoming an accredited registrar ourselves we hoped (and continue to hope) that we could bring our legendary customer service to dot-zm registrants, to give them peace of mind that their domains will operate as expected.

Since April we have taken a number of actions to provide improved service to dot-zm registrants:

  • We have rescued quite a number of domains that were registered through Coppernet,
  • We have helped the registrants of some domains that were previously hosted with or registered through Microlink,
  • We set up an example domain at example.com.zm,
  • We have updated the WHOIS information for all domains that we’ve transferred in from other registrars, so that they are using current and correct contact information and are compliant with all expected norms as far as contact information is concerned,
  • Many domains transferred in from other registrars had expiry dates as long as ten years ago, but all domains have been renewed up to the present, and
  • We have brought some domains “home” from overseas where they were managed by companies gouging Zambians for hundreds of US dollars per year for domain registrations.

We have also been able to use our status as a registrar with direct and established contact with ZICTA to address a number of situations where dot-zm domains were unduly taken offline due to actions taken by their previous registrars. Most recently this took place yesterday (27 November) when domains that are with the registrar AfriConnect (officially, but also known as iConnect and now “inq.”) were taken offline because their nameservers were changed by iConnect/inq without request or authorisation from the registrants. This took these domains offline all day yesterday until finally, at the end of the day, they were restored to working condition again.

Similar issues have taken place with Zamnet and Coppernet in the past, although the latter is no longer in business and the issues with the former took place before our accreditation, so we were not able to do anything except sit on the sidelines and shout! In one recent case a client’s dot-co.zm domain, registered with Zamnet, was down for over a month before it was sorted out by Zamnet! The expiry date on that domain still shows as 2015 in the WHOIS!

These situations are all examples of the fact that dot-zm domains registered with anyone other than NinerNet are in jeopardy of going offline at any time with no notice to the registrants or NinerNet. This is intolerable. Although it is not a technical requirement, ever since April we have insisted that new clients transferring in existing dot-zm domains to our hosting service also transfer their domain registration for management by NinerNet/Preworx. Any existing clients who choose not to transfer their domain registrations to NinerNet will be pointed to this blog post to ensure that they are aware of the risk they are taking if they leave their dot-zm domain registered with another registrar.

Finally, we are continuing to sell dot-zm domain registrations, renewals and transfers for K175.00 per year (50% off!) until 31 December 2020. Contact NinerNet today to arrange for the registration, renewal or transfer of your dot-zm domain!

Microlink has apparently shut down

14 September 2020 03:24:27 +0000

Microlink last week apparently sent an email to their customers stating that they were suddenly “shutting down their hosting services”. According to some reports, there weren’t many customers left to send the emails to. However, one of them contacted us and with cooperation from ZICTA we were able to transfer their dot-zm domain under our management, and we got them back online the same day.

However, another former Microlink customer who contacted us wanted to get their @microlink.zm email address working again. We had to inform them that we are unable to do that, because we don’t manage the microlink.zm domain and its DNS and email accounts. It remains under the management of Microlink, or whatever is left of it.

We did contact the (apparently) former IT manager at Microlink (Sanjeev) to offer assistance with moving clients to new hosting and to host email on microlink.zm, but we have not had a response … and quite frankly don’t expect one.

If you are a former hosting customer of Microlink — i.e., you have your own domain, dot-zm or otherwise — that was hosted with them, please contact us and we will assist you in getting your domain back online as quickly as possible. We have the expertise and experience.


Update, 2020-09-18: Although we can’t replace what you lost when Microlink shut down unexpectedly, we can try and ease your pain. If you contact us and sign up before the end of September 2020, we will host you for no charge for ONE YEAR (for a maximum of 25 email addresses), including bringing your dot-zm domain registration up to date. Click here to contact us by email now.

We now offer dot-zm domain registrations

25 April 2020 01:56:29 +0000

As some of you are aware, we have been pursuing accreditation with ZICTA so that we can register and manage dot-zm domains. In order to accomplish this we partnered with registered ISP Preworx, and our application was recently approved.

This will be particularly good news for those of you who have dot-zm domains registered with a certain registrar who suspends and deletes domains without notice and without billing registrants, as happened most recently in February and will undoubtedly happen again in the future.

We have already transferred those domain registrations for which we are responsible. At the same time we have corrected the registration information for these domains to ensure they are registered by the correct organisations, and are using current contact information.

While we have not recommended dot-zm domains in the past for both technical and administrative reasons, the technical reasons were addressed by ZICTA within the last few years. The administrative reasons are primarily related to poor management by registrars, such as the aforementioned registrar that suspends domains without notice and without issuing invoices. This, as all NinerNet clients know, is not how we conduct business.

Also in the past we have not been able to offer any assistance — only advice — when clients had issues with their dot-zm registrations and registrars. Now, for those clients who have dot-zm domains, if you transfer your dot-zm registration to NinerNet/Preworx, you will be assured of the same service and attention to detail that you are used to with your hosting and other domain registrations. In fact, while it is ultimately your choice whether or not you transfer your dot-zm domain under the management of NinerNet/Preworx, we do strongly recommend that you do.

If you have an existing non-dot-zm domain that includes the word “Zambia” or “Africa” — e.g., company-zambia.com or company.africa — and would like to consider registering a dot-zm instead or as well, please contact us to advise us and we’ll respond with options for you. Your options include:

  • .ac.zm: Academic institutions
  • .biz.zm: Businesses
  • .co.zm: Commercial entities
  • .com.zm: Commercial entities
  • .edu.zm: Academic institutions
  • .gov.zm: Government
  • .info.zm: Information
  • .mil.zm: Military
  • .net.zm: Networks
  • .org.zm: Non-commercial organizations
  • .sch.zm: Schools

Of course, some of the above are restricted.

Pricing has been another reason that dot-zm domains have not been popular. To be frank, we don’t have any firm commitment from ZICTA on our pricing yet. We’d love to be able to say that we know what price we will be charging for domains next year and five years from now, but we can’t. However, as part of our application we did commit to pricing “in line with industry standards for most TLDs.” What this means for now is that we intend to charge the same price for a dot-zm domain that we currently charge for a dot-com, which is K351.50. Actually, considering we’re not paying for dot-zm domain registrations in forex, we’ll peg that at K350 per year unless and until ZICTA makes any significant change to their pricing model.

Even better is that — subject to ZICTA’s pricing — we will charge only half that, K175 for a year, for all transferred and new domains for the rest of 2020. This applies to all existing clients, and any new clients. And remember, we pay a 10% bounty for new clients — to both the referring client and the new client — based on the new client’s spending with us for their first six months.

Please contact us to transfer your existing dot-zm domain (if you have one), or register a new one. Thank-you.

NinerNet home page

Subscriptions:

RSS icon. RSS

General Information:

This is the corporate blog of NinerNet Communications. It's where we post announcements, inform and educate our clients, and discuss issues related to the Internet (web and email) hosting business and all it entails. This includes concomitant industries and activities such as domain registration, SSL/TLS certificates, online back-up, virtual private servers (VPS), cloud hosting, etc. Please visit our main website for more information about us.

Search:

 

Recent Posts:

Archives:

Categories:

Tags:

accounts receivable apple billing branding cira contact information domain registration domain registry of canada domain renewals domains domain sales dot-ca domains dot-zm domains down time droc email encryption facebook google happy hosting customers hosting transfer icann invoices iphone kwacha maintenance paying your bill paying your invoice quarterly kwacha rate review rates registrar transfers reputation scams search engine optimisation search engine optimization security seo service hours spam ssl ssl/tls support transparency wordpress zamnet

Resources:

On NinerNet: