Re: Reason for LINEDISCONNECTMODE_NOANSWER



"Martin Richter [MVP]" <martin.richter@xxxxxxxx> schrieb im Newsbeitrag
news:dj5b0o.5i8.1@xxxxxxxxxxxxxxxxxxx
> >>If I dial a number via lineMakeCall that is not complete (missing last
> >>digit)
> >
> > Martin,
> > Do use partially dialling for this?
>
> No! It is a full number given from a DB.

Martin,
isn't this a contradiction: "not complete (missing last digit)" vs. "It is a
full number" ?
You may want to try partially dialing, i.e. adding a ';' at the end of
DestAddress at lineMakeCall().
Of course it depends on the TSP whether this is supported...
E.g. UniModem.TSP on W2k/SP4 supports it,
UniModem.TSP on XP/SP2 returns LINEERR_INVALADDRESS.


> >>it takes some time and the connection is disconnected and nearly
> >>all tapi drivers I checked (4 up to know, elmeg, Alcatel) returned as
> >>disconnect reason LINEDISCONNECTMODE_NOANSWER. And I can understand
> >>this, because I get no answer. Shouldn't it be
> >>LINEDISCONNECTMODE_BADADDRESS (The destination address is invalid)?
> >
> >
> > Now I'm confused:
> > At 1st you said you understand why it is _NOANSWER, then you suggested it
> > should be _BADADDRESS !?
> > Btw. why should it be _BADADDRESS? The address isn't invalid but only
> > incomplete.
>
> Yes but for the user, if he uses his phone the number does not yoield
> into a connection, and will never do this! So the address is bad!

And the user doesn't get an answer, therefore _NOANSWER.
So we obviously disagree on this...

Btw. you seem to intentionally misleading TAPISRV and the TSP about the
"missing last digit" at lineMakeCall().
This can be regarded as a bug in the TAPI app.


> >>But in the case above, when the TSP disconects due to timeout reasons I
> >>get a LINEDISCONNECTMODE_NOANSWER too. But the situation is different.
> >>In one case had a connection but nobody gets on the phone, in the other
> >>case there is no connection at all.
> >
> >
> > Are you refering to UniModem.TSP that is firing LINECALLSTATE_CONNECTED
> > immediately after dialling is complete?
>
> No! I am talking about a callcenter application that dial numbers
> thoughout TSP from different vendors, I tested some elmeg, Alcatel TSPs.

So what do you exactly meaan by "In one case had a connection but nobody gets
on the phone"?


> > As you have already noticed the the TAPI specification has only a brief
> > description of this,
> > it is actually up to the TSP developer to decide.
> > This decision is of course influenced by the information the TSP has
available
> > from the corresponding telephone devices.
> >
> > Conclusion: a TAPI app needs to be tested with _every_ TSP it desires to
> > _properly_ run with!
>
> Bad. Very bad. I alwys thought (maybe I am fool thinking that), that
> TAPI is a standard Interface and TSP programmers should use disconnect
> reasons in a way that they fir the docs and specs.

Welcome to the real world (of TAPI).


> > Btw. what is your actual problem with this (or is this "only"
academically)?
> >
> > For further discussion it will be helpfull to post TB20.logs (incl. logged
> > params) for the various scenarious and TSPs.
>
> Yes the discussion is more academically!
> We have several disconnect reasons.
> Our application needs to decide what to happen with a call that was not
> connected:
> The call was made, nobody replies on the rings and after a timeout may
> application drops the call. Conclusion for our application: Need to rery
> later until a retry count is reached. So this is not a problem.

O.k.

> Now we have the cases were we receive a LINEDISCONNECTMODE. Each of the
> modes is assigned to one of the categories below (this was done by
> reading the docs very carefully).
>
> - Failures that need special messages and action:
> LINEDISCONNECTMODE_UNKNOWN LINEDISCONNECTMODE_PICKUP
> LINEDISCONNECTMODE_FORWARDED LINEDISCONNECTMODE_CONGESTION
> LINEDISCONNECTMODE_UNAVAIL LINEDISCONNECTMODE_NODIALTONE
> LINEDISCONNECTMODE_TEMPFAILURE
> LINEDISCONNECTMODE_QOSUNAVAIL LINEDISCONNECTMODE_BLOCKED
> LINEDISCONNECTMODE_CANCELLED

I guess
LINEDISCONNECTMODE_PICKUP
LINEDISCONNECTMODE_FORWARDED
are for inbound calls.


> - The categorie the call is Busy and we need to retry it in a view minutes:
> LINEDISCONNECTMODE_NORMAL LINEDISCONNECTMODE_BUSY

> - The categorie were there was no connection because of timeouts or
> temporary failures and need to be retried later:
> LINEDISCONNECTMODE_REJECT LINEDISCONNECTMODE_NOANSWER
> LINEDISCONNECTMODE_UNREACHABLE LINEDISCONNECTMODE_DONOTDISTURB
> LINEDISCONNECTMODE_OUTOFORDER

I guess
LINEDISCONNECTMODE_CONGESTION
LINEDISCONNECTMODE_TEMPFAILURE
belong here too.


> - The categorie were we have to decide that the number is wrong and
> there is no need and the need to check the address:
> LINEDISCONNECTMODE_NUMBERCHANGED
> LINEDISCONNECTMODE_BADADDRESS LINEDISCONNECTMODE_INCOMPATIBLE
>
>
> Now I am in conflict with a address (phonenumber) that is incomplete.
> The TSP's I tested returned LINEDISCONNECTMODE_NOANSWER.
>
> So the academic question is: What is the correct use of
> LINEDISCONNECTMODE_NOANSWER.

Counter-question: does a TSP know that the call was disconnected due to an
incomplete DestAddress ?

--
Best Regards
Andreas Marschall
Microsoft MVP for TAPI / Windows SDK
TAPI / TSP Developer and Tester
http://www.I-B-A-M.de/Andreas_Marschall's_TAPI_and_TSPI_FAQ.htm
* Please post all messages and replies to the newsgroup so all may
* benefit from the discussion. Private mail is usually not replied to.
* This posting is provided "AS IS" with no warranties, and confers no rights.



.



Relevant Pages

  • Re: Reason for LINEDISCONNECTMODE_NOANSWER
    ... > I always get in trouble with the callstates used by some TSP's. ... See my TAPI and TSPI FAQ: ... > disconnect reason LINEDISCONNECTMODE_NOANSWER. ... > In one case had a connection but nobody gets on the phone, ...
    (microsoft.public.win32.programmer.tapi)
  • how to use ::linemakecall()?
    ... I know I should use linemakecall to establish the connection and I ... how can I start file transfer? ... there any TAPI function to do that? ...
    (microsoft.public.win32.programmer.tapi)
  • Re: Fixing or REPLACING I.E.6
    ... Also, it may be that your connection setups need to be adjusted, as in, ... been idle while on the Internet. ... This is referred to as the Idle Disconnect ... Download the newest version of HiJackThis here: ...
    (microsoft.public.windows.inetexplorer.ie6.browser)
  • Re: Tapi 2.x and lineAnswer
    ... I need to place calls as well with linemakecall. ... else then the request will wait. ... then handle the whole issue in the timer method? ... reality of TAPI. ...
    (microsoft.public.win32.programmer.tapi)
  • Disconnect/Reconnect (was: phpMyAdmin)
    ... In MySQL ist es so, daß die Connection einen besonderen Kontext oder Scope darstellt. ... Ein Disconnect entspricht einen ROLLBACK. ... Das gilt für viele grafische Clients - viele von denen machen nach dem Absenden der Query und dem Lesen des Resultsets einen Disconnect und verbinden sich für die folgende Query neu, darunter auch der MySQL Query Browser. ...
    (de.comp.datenbanken.mysql)