The behaviour of Asterisk has been altered since 1.4.21, possibly in error, with regard to answering calls from call queues.
There is a feature that requires agents to press # when they are ready to speak to a caller. Since we forward calls to agents via their mobiles, rather than auto-answer calls in a desk environment, we disabled that feature with ackcall=no in agent.conf.
After upgrading to 1.4.22 we see this configuration is nolonger honoured. Diffing chan_agent.c between version 1.4.21 and 22 shows a new section of code saying (in English) that ‘if there is no per-channel override specified in the dialplan, default the configured variable’ (line 2048). I looked at where the default was read from the config file and it looks like a lot of different chunks of chan_agent want to set the ackcall default!
The bug shows up in the asterisk console as :
– Agent/xxx is ringing
– SIP/voip-out-081e5a88 is making progress passing it to Local/447xxxxxxxxx@uk_all-a667,2
– SIP/voip-out-081e5a88 answered Local/447xxxxxxxxx@uk_all-a667,2
– Local/447xxxxxxxxx@uk_all-a667,1 answered, waiting for ‘#’ to acknowledge
The workaround is that the only safe place to set the default ackcall behaviour is for each channel in the dialplan. If you want to disable the ‘waiting for ‘#’ to acknowledge’ behaviour, configure your dialplan as such :
exten => 1701,1,Answer()
exten => 1701,n,Set(AGENTACKCALL=no)
exten => 1701,n,Queue(noc|r|||40)
exten => 1701,n,Voicemail(xxxxx)
exten => 1701,n,Hangup
This is a response to Lee Dryburgh’s article on Skype. We had a debate on Twitter, but I have not yet mastered the art of debate in 140 characters!
Lee’s premise is that “Certainly Skype is not a walled garden. All things being relative, it’s certainly not overly closed either.” Lee claims that the accusations of closeness are unfair, because they are levied by commentators who advocate SIP based addressing and dialing rather than any other system.
This is not my premise. I claim that Skype is closed because calls are signalled and completed using protocols that are entirely secret as a matter of policy. Skype’s founder presented at Spring VON 2007 and stated that if Skype did not keep their protocols entirely secret, then Skype would be full of spam and attack like email is. I think this is a poisonous claim, telephone networks have been interconnecting around the world since telephony was conceived. By not allowing telecoms firms to interconnect between the skype namespace and other networks, Skype have prevented openness to develop and maintain a monopoly position. That’s perfectly acceptable business, but it is not in the slightest bit open.
Randy Bush googled Walled Garden for a recent presentation and found this cartoon. I like this definition because it’s correct. Is Skype a Walled Garden ? Lee says a Walled Garden is a commercial restriction, for example, “sharing of ringtones via Bluetooth, using WiFi from a PDA, having access to all Web sites“. I think that only allowing interconnection with the purchase of an upgrade like SkypeOut is a restrictive or practice that suggests Skype is a Walled Garden. Worst of all a call between two VoIP networks using this method requires default PSTN routing, which harms signal quality, and prevents the expansion of next-generation services such as Wideband/High Definition audio.
The meshing of networks, whether they are traditional voice or IP networks, leads to higher audio quality and increased reliability. Keeping telephony systems and protocols secret in order to prevent meshing may well be a viable business model, but it is not an open business model.
Yesterday I gave a talk to Sheffield GeekUp on preparing enterprises for IPv6 [download]. The premise of the talk was :
The advice I gave was :
My hope is that this talk is improved upon and delivered internationally to enterprises.
These are the slides that I presented at NANOG44 in Los Angeles on Sunday, “VoIP For Network Operators“.
This talk was for network operators looking to build voice segments of their network, and the slides cover
I tried to open some dialogue with colleague members of the ITSPA about Vodafone’s legal challenge to Ofcom’s two-hour number port ruling. Instead I got a number of offlist replies suggesting Vodafone’s challenge is still news to many in the industry.
Today, if you want to port your number from one service provider to another, it relies on two major coincidences – firstly that your old and new provider have an agreement in place to manage the technical transfer between the two networks, and secondly that your old provider remains fully willing to forward all calls destined from your old number, to your new service provider.
There are several issues with such a system – the first is that your old provider are still very much involved, so their technical or commercial failure causes a problem long after you have ported away, another is that the process is slow and manual, and a third is that not all service providers have agreements to permit number porting (called a Mutual Porting Agreement in the industry).
Vodafone are concerned about the costs of the new system, even though an industry group UKPorting has only just begun to gather information about how the system should work. I think that it’s a flawed premise to argue that a system is too expensive before a system is selected (and associated costs are announced). Instead Vodafone should get involved with designing a perfect system.
The UKporting system to facilitate fast, reliable, and simple porting must happen, and must succeed. We have to protect consumers who port their number from failures caused by their former service provider.
I am concerned that the system may mean all multihomed telephone networks will need to move to any all-call-query model that’s run by one natural monopoly. If a single entity holds the industry to ransom, we have not moved forward – there’s still a single commercial or technical position that can fail to break your port. The single All-Call-Query model also lends itself well to governments having access to a single point where recording of most call attempts can be made.
I come from an IP engineering background, and now work in a telecoms role with Localphone.com. Huge amounts of crossover exist between the two disciplines, especially now that inter-company telecommunications interconnections are now regularly made over IP, but much of what someone will learn about peering in the voice world will not be mellifluous to someone with a background in IP peering.
I attended a PulverMedia conference on voice peering last week, with some preconceptions about what I imagined voice peering to be. These are some things I learned after talking to people at the conference. Gary Kim gave one of the most useful insights when he complained that he was, “More confused about where peering is going today than he was two years ago.”
“Why can’t I configure a voice peer like I can configure a BGP peer?” is a typical question. The answer is simple. When you peer using IP, the protocol is well known and established, prefixes are in a ubiquitous standard, peering is typically settlement free (and when its not, pricing is transparent and easy to calculate as mostly all traffic is equal – from a billing perspective).
The sad dichotomy is that in the voice world, prefixes (telephone numbers) behaviour is not identical, the protocols different companies use will be different (media codecs, call signalling, dtmf), and thanks to the regulators and history of commercial telephony peering is hardly ever settlement free.
This complexity has led to the emergence of another traditional pattern in telecoms – a barrier to entry. Clearing houses who will abstract peers from each other. They mediate media codecs, signaling differences, and perform CDR mediation. A barrier to entry, because they don’t want to do this for free. This is a model which is not great for many telcos who quite rightly don’t want to yield control of their outbound dialplans to any third party. Abstracting my media might mean callers get lower quality calls, and leave me as a service provider with poor visibility of the route that a call between two parties takes. Abstracting signaling without me being aware means that error messages about calls are lost in translation.
The clearing house model is also a natural monopoly. If a company is a member of one clearing house, and I am a member of another, then there is no way for us to peer using the traditional clearing-house model. Some clearing houses have suggested a protocol that would permit clearing houses to peer (share their registry data) – effectively increasing the reach – but this potentially further increases the layers of abstraction between me as a service provider and a peer.
Before I explain what I think the answer is, let me explain a few of the reasons why peering between telephony companies is good. Peering between competitive telecoms companies reduces their dependency on national incumbent providers. Two large non-incumbent telcos can peer, possibly meaning that TDM legs are removed from a call which is IP at both ends resulting in better quality calls, possibly permitting the use of new ultra-clear wideband-audio codecs, and typically at cheaper rates than connecting through an incumbent party. This gives telecoms customers cheap calls at a higher quality. As a result this is an important strategy for next-gen telcos.
Telecoms companies need to communicate their prefixes and standards bilaterally – that is to say, without a clearing house. I am working with some of the people I met at the conference on a new Internet-Draft to suggest the protocol that would facilitate this (like TRIP, but with enough understanding of commercial logic in the protocol to make it useful). I’m hoping to publish the first draft later this month.
“Ma Bell is a system I want to explore. It’s a beautiful system, you know, but Ma Bell screwed up. It’s terrible because Ma Bell is such a beautiful system, but she screwed up. I learned how she screwed up from a couple of blind kids who wanted me to build a device. A certain device. They said it could make free calls.”
That’s a paragraph from an article linked to from Steve Wozniak’s website, which Steve describes as “The Article that changed history“. He is one of the most important engineers of our time, and like thousands more, he was driven to learn more and more about how computer systems interact, after snooping around telephone networks. The telephone system has always been a prime target for attack for two reasons – vulnerabilities have historically been well published, and telephony was so expensive that it was worth working out the ways to subvert the system and talk for free.
But what happens when talking across the world is so cheap that its not worth stealing any more? You may think this is an irrelevant point, calls from BT users to France are still 18.5p per minute, to New Zealand are still 31p per minute. But what if these calls to France were a penny a minute? Calls to New Zealand 1.4p a minute?
Well, they are now that price if you are a Localphone user. Does this mean no more Steve Wozniaks, young men driven to explore big networks so that they can use their skills to build something even bigger and better?
The first ‘Phreaks’ – the collective name for people who like to exploit vulnerabilities in the phone system found their skills by accident. A blind eight year old called Josef Carl Engressia discovered that he could stop a phone accounting for a call he was making by whistling a particular note in a long distance call. He’d accidently discovered the 2600Hz tone which signals to long-distance telephony kit that a user had hung the phone up.
The later Phreaks like Steve Wozniak were more methodical, they took this learning and approached the exercise as engineers – phreaking was a learning experience – as Steve puts it, “The blue box year was 1972. Apple started in 1975. The biggest connection was some design tricks and techniques that I honed on the blue box.” Fooling around with the telephone drove innovation and learning for the early Apples.
The telephone system acted as a central point of interest for those interested in information security, and gave the movement focus. Whilst the 2600Hz trick no longer works, the number features in the name of the world’s most popular security journal, 2600 The Hacker Quarterly, which specialises in distributing information to IT personnel about improving their systems by demonstrating weaknesses in flawed systems. Again, without Phreakers would such openness and publicity for information security exist?
I admit that phreaks are not only motivated by the prospect of free telecoms, they are fascinated with the huge telephone network. I only ask if calls were as cheap as they are through services like Localphone, would so many engineers have found value exploring telephone systems, learning techniques to use in their later masterpieces.
I hope that tomorrow’s engineers will still explore telecoms. In fact, its easier today than before – downloading a free PBX like Asterisk means you nolonger need to be a criminal in order to explore how a telephone network interacts. VoIP networks have existed as islands within a corporation, or groups of interested people (e.g. the closed FWD system permitted free calls between friends on their network, no matter where they were in the world, but did not allow calls to route to other telephone networks, such as the one your mobile is connected to). Cheaper telecoms was our drive to build Localphone, so it can still act as a motivator for engineers to create something, its just that today you can have more fun doing this legally!
Disclaimer: the author is an engineer at Localphone.
I’ve been allowing the webcast of RIPE55 to mutter away in my ears all week and have let myself get distracted from time to time when the topics turned relevant to networks I operate or the chatter got interesting. A bit like the end of today’s ipv6-wg session.
Six months ago I was quite sure that v6 was not likely to be viable as a way to guarantee the continuity of fresh (and useful) addressing resources when the IANA ipv4 pool is expired (around two years from today). I thought that our best chances remained with working with our remaining v4 options; reclassifying 240/4 as normal unicast, pressure or perhaps even (shudder) regulation imposed on the holders of unused legacy class-A space, tighter policy control on remaining v4, and eventually a market model for new address distribution.
This is operator speak for burying one’s head in the sand. 240/4 is not going to useful for end-to-end internet use any time soon, thanks to the amount of equipment which is configured to not permit assignment of a class-e address to an interface, which unless you are using a very old or patched operating system will include the computer you are sitting in front of. The best we can hope for is that it will be useful for private internetworking at some point in the future. The class-A holders wont give their legacy allocation back because they think its worth lots of money, but the holders (and their future customers who ‘buy’ rights to a slice of addresses) are going to be disappointed when their announcements are ignored – anyone who thinks that HP can deaggregate 15.0.0.0/8 into 65,000 /24 networks and sell it off (HP not subject to the cost of every single other router in the world carrying the routes for free) is mistaken.
I have changed my mind and started testing v6 out. I care about the end to end internet, and I care that addressing resources should be available to anyone who can justify need and that this is good for innovation. I am therefore pleased to hear the ipv6-wg discussing text for a new RIPE recommendation document that boils down to:
I am however concerned about one thing. There are a number of networks which use provider independent addresses so that they can multihome (connect to more than one ISP for redundancy and performance.) This is not catered for in general circumstances with RIPE v6 policies, except in very special circumstances. This is due to a desire to keep the v6 routing table small so that we avoid the problems of an unwieldy routing table like today’s (by today’s equipment standards) in the future.
I don’t think the RIPE community can justify publishing such a document until 2006-01 reaches concensus, and in fact that this resolution is that IPv6 PI is available, it is a /48, and it’s possible to get some if you are multihoming. You can’t tell operators that they must move to v6 without giving them a migration path.
The argument revolves around routing table size and control, but the community must allow networks that rely on connectivity to multihome, it’s an accepted technique for many operations now. By all means require the organisation to continuously multihome or give the addresses back, but we must let the concept of v6 PI exist.
Otherwise needs based address resource allocation dies in around two years.