code for "call declined"

485 views
Skip to first unread message

cmw

unread,
Apr 3, 2010, 11:06:04 PM4/3/10
to Telephone Discussions
Hi,

In my account with my SIP provider, flowroute.com, my incoming number
from the PSTN is configured to first try SIP registration, then if
that fails, to "failover" to my google voice number, where my
voicemail can pick up the call.
If Telephone is not running, that works OK. However, if Telephone is
running and I click "Decline" thinking to send the call to voicemail,
the call does not go to voicemail. Instead, the caller gets a busy
signal or some weird recorded message from PSTN about privacy
settings.

The provider says they are doing this correctly, following the RFC,
because Telephone sends a 603 message which they say:

> a 603 response is a global busy signal which means that the request should not be attempted to
> any other endpoint. This is the exact language from the SIP RFC defining the meaning of the 603 > response:

> 21.6.2 603 Decline

> The callee's machine was successfully contacted
> but the user explicitly does not wish to or cannot participate.
> The response MAYindicate a better time to call in the Retry-After header field.
> This status response is returned only if the client knows that no other
> end point will answer the request.

> The important clause here is that "status response
> is returned only if the client knows that no other end point will answer the request."

I wonder if Telephone, since it does not implement an answering
machine on its own, should be sending a different code to reject the
call?

Thank you.

Alexei Kuznetsov

unread,
Apr 4, 2010, 5:51:27 AM4/4/10
to teleph...@googlegroups.com
Hi,

Good point! I guess, we could do something like this: when you hit Decline, it will still send 603 Decline, but if you hold Option key when clicking Decline button, it will send 486 Busy Here reply. Will sending 486 code work for you?

Alexei

Ken Gillett

unread,
Apr 4, 2010, 5:54:51 AM4/4/10
to teleph...@googlegroups.com
Perhaps the other way around would be better?

> --
> You received this message because you are subscribed to the Google Groups "Telephone Discussions" group.
> To post to this group, send email to teleph...@googlegroups.com.
> To unsubscribe from this group, send email to telephone-ap...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/telephone-app?hl=en.
>

Ken G i l l e t t

_/_/_/_/_/_/_/_/

Alexei Kuznetsov

unread,
Apr 4, 2010, 6:05:46 AM4/4/10
to teleph...@googlegroups.com
Yes, maybe. It looks like section “13.3.1.3 The INVITE is Rejected” of RFC 3261 states that we should send 486 (or 600 otherwise).

Alexei

Alexei Kuznetsov

unread,
Apr 4, 2010, 6:14:30 AM4/4/10
to teleph...@googlegroups.com
Thank you both! Started issue 304:
http://code.google.com/p/telephone/issues/detail?id=304

Alexei

Alejandro Orellana

unread,
Apr 4, 2010, 8:32:35 AM4/4/10
to teleph...@googlegroups.com, teleph...@googlegroups.com
Another data point here
Other softphones send 603 in this scenario. 486 to me is not valid in this scenario.
In your case seems like your ITSP behaves this way.

My two cents.

Sent from my iPad

Alexei Kuznetsov

unread,
Apr 4, 2010, 10:10:22 AM4/4/10
to teleph...@googlegroups.com
What could be the downside?

Alejandro, why ‘Busy Here’ is not valid in your case?

Alexei

cmw

unread,
Apr 4, 2010, 12:19:15 PM4/4/10
to Telephone Discussions
Well not all softphones. The only other softphone I've used, which is
Acrobits Softphone, the most popular softphone for the iPhone/iPod
touch, works the way I expect it to. Don't know what code it sends,
but when I reject the call it does go to voicemail.

Thank you.

On Apr 4, 6:32 am, Alejandro Orellana <chilote.orell...@gmail.com>
wrote:


>  Another data point here
> Other softphones send 603 in this scenario. 486 to me is not valid  in this scenario.
> In your case seems like your ITSP behaves this way.
>
> My two cents.
>
> Sent from my iPad
>

> On Apr 4, 2010, at 6:05 AM, Alexei Kuznetsov <eofs...@gmail.com> wrote:> Yes, maybe. It looks like section “13.3.1.3 The INVITE is Rejected” of RFC 3261 states that we should send 486 (or 600 otherwise).

Alejandro Orellana

unread,
Apr 5, 2010, 9:14:29 AM4/5/10
to teleph...@googlegroups.com
I did a little more testing this weekend .
i am using an asterisk pbx that is connected to my ITSP (sipgate).

and all the cases i go to voicemail which is what i would expect.
Interesting thing is the acrobits 488 response is totally incorrect in this case !. Now 486 or 603. i guess it could go either way.
but for me 486 means that the user is busy i.e already engaged in a call, as opposed to 603. The problem could for the gateways 
that needs to translate this codes back to PSTN  486 and 603 mean different things.

1) Using iPhone's softphone from acrobits declines a call it sends:
SIP/2.0 488 Not Acceptable Here
From: "Savant ROSIE Touch 12" <sip:20...@10.5.200.169>;tag=as52a0dcc2
CSeq: 102 INVITE
Via: SIP/2.0/UDP 10.5.200.169:5060;branch=z9hG4bK0e434d4d;rport
To: <sip:20...@10.5.210.24:49607;rinstance=936A139E9CF3AB082C0D>;tag=92D5C94FF476928A7563BF8BE24DAA29
Allow: OPTIONS, INVITE, ACK, CANCEL, BYE
Supported: replaces
Content-Length: 0


2)Using Bria from counterpath.One of the best commenrcial softphones outhere. it sends:
<--- SIP read from UDP://10.5.200.24:53070 --->
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP 10.5.200.169:5060;branch=z9hG4bK0d18a9bb;rport=5060
From: "Savant ROSIE Touch 12"<sip:20...@10.5.200.169>;tag=as7bdd1ece
CSeq: 102 INVITE
User-Agent: Bria 3.0 release 3.0 stamp 56426
Content-Length: 0


3)and telephone sends
<--- SIP read from UDP://10.5.200.54:53783 --->
SIP/2.0 603 Decline
Via: SIP/2.0/UDP 10.5.200.169:5060;rport=5060;received=10.5.200.169;branch=z9hG4bK3ee69524
From: "Savant ROSIE Touch 12" <sip:20...@10.5.200.169>;tag=as3c3fab95
To: <sip:20...@10.5.200.29>;tag=Z2rDrKyBXRdHczCH8eGS2rbEbxMhGV5D
CSeq: 102 INVITE
Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS
Content-Length:  0

Alejandro Orellana

unread,
Apr 5, 2010, 5:25:42 PM4/5/10
to teleph...@googlegroups.com
Actually, i went and read the RFC3261 again  and here some excerpts that can shed some light into the subject.
hope this helps. 

Cheers
13.3.1.3 The INVITE is Rejected

   A common scenario occurs when the callee is currently not willing or
   able to take additional calls at this end system.  A 486 (Busy Here)
   SHOULD be returned in such a scenario.  If the UAS knows that no
   other end system will be able to accept this call, a 600 (Busy
   Everywhere) response SHOULD be sent instead.  However, it is unlikely
   that a UAS will be able to know this in general, and thus this
   response will not usually be used.  The response is passed to the
   INVITE server transaction, which will deal with its retransmissions.

   A UAS rejecting an offer contained in an INVITE SHOULD return a 488
   (Not Acceptable Here) response.  Such a response SHOULD include a
   Warning header field value explaining why the offer was rejected.

=======
21.4.24 486 Busy Here

   The callee's end system was contacted successfully, but the callee is
   currently not willing or able to take additional calls at this end
   system.  The response MAY indicate a better time to call in the
   Retry-After header field.  The user could also be available
   elsewhere, such as through a voice mail service.  Status 600 (Busy
   Everywhere) SHOULD be used if the client knows that no other end
   system will be able to accept this call.

21.6.1 600 Busy Everywhere

   The callee's end system was contacted successfully but the callee is
   busy and does not wish to take the call at this time.  The response
   MAY indicate a better time to call in the Retry-After header field.
   If the callee does not wish to reveal the reason for declining the
   call, the callee uses status code 603 (Decline) instead.  This status
   response is returned only if the client knows that no other end point
   (such as a voice mail system) will answer the request.  Otherwise,
   486 (Busy Here) should be returned.

21.6.2 603 Decline

   The callee's machine was successfully contacted but the user
   explicitly does not wish to or cannot participate.  The response MAY
   indicate a better time to call in the Retry-After header field.  This
   status response is returned only if the client knows that no other
   end point will answer the request.

Reply all
Reply to author
Forward
0 new messages