| |||||||||||||||||||||||||||||||
|
17 maj 2007 kl. 02.57 skrev Robert Lister: > On Wed, May 16, 2007 at 05:46:21PM -0500, Greg Oliver wrote: >>> If I push the response code back to the handset (Cisco 7960) then >>> it is even >>> more unhelpful as it uses the same error message for all SIP >>> error type >>> response codes: "Reorder" but does not tell you why the call >>> failed to set >>> up. If it actually put the SIP response error on the display, >>> that would be >>> good, but it doesn't. (at least SIP 8.6 and prior software versions) >> >> In order to display the response on the handset, Cisco phones require >> that you have privileges and CTI control over the phones. The only >> un-authenticated things you can display through the phones are >> through >> the services and directories keys. Unfortunately, they are >> keeping that >> locked up since they want you to use them with their system. >> Hopefully >> they will change their minds one day. > > Yes. I know that... This is exactly the limitation I am trying to work > around, by being able to send back meaningful tones to the phone from > asterisk in-band rather than sending back the SIP response codes > which all > get displayed by the handset as "Reorder" which is completely > useless in > informing the user what's wrong. (And the US reorder tone sounds > too much > like the UK engaged tone anyway.) > > Even if the handset did display the SIP error response, I'm not > expecting > most users to understand the subtleties of what they all mean, so > it seems > better just to simplify it with a few well known tones most users are > already familiar with (unobtainable, equipment busy, user busy, > etc.) And it > will behave in the same way regardless of the model of handset. > ("Call worked/Busy/Call failed...") > > Unfortunately Dial() DIALSTATUS is a bit limited in that if call > setup fails > for some reason, it mostly returns CONGESTION. Playing a congestion > tone for > perhaps 12 different call setup problems including misdials, > doesn't help > either. I want to play the right tone (for, say, unobtainable, > equipment > busy, etc.) > > The ISDN gateway I am using goes to great pains to send back the > correct SIP > response to asterisk, which then just reports it as "CONGESTION" > which is a > bit limiting. > > The SIP response code is displayed on asterisk's console, I just > cannot see > a way to get at it in the dial plan.... There are multiple ways to get the result of a dial() operation. The most detailed way is to read the HANGUPCAUSE channel variable, which is translated from each channels signalling protocol response code. As the ISDN gateway, Asterisk "goes through great pains" to translate SIP codes to the ISDN cause codes which we use as the "esperanto" code within the PBX core, which as you know is multiprotocol. The translation from SIP to the cause codes follows available RFCs and where those not cover the code, Cisco's documentation. I am sure that those are the same as your ISDN gateway adheres to. So in order to do something useful, use the HANGUPCAUSE channel variable. /O _______________________________________________ --Bandwidth and Colocation provided by Easynews.com -- asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
| ||||||||||||||||||||||||||||||
© 2004-2008 readlist.com