Subject: Re: [core] CoAP over SMS Binding and Multiple CoAP Endpoints

From: "Kepeng Li" <[email-masked]>
Date: Fri, 16 Jan 2015 21:46:21 +0800

Hi Tim,

In my opinion, in UDP and TCP, the port is used to identify different
applications within the host, e.g. CoAP application, HTTP application.

I am not sure what is the use case to have multiple CoAP endpoints within
the host.

Kind Regards
Kepeng

发件人:  "Carey, Timothy (Timothy)" <[email-masked]>
日期:  Friday, 16 January, 2015 9:30 pm
至:  "[email-masked]" <[email-masked]>
主题:  [core] CoAP over SMS Binding and Multiple CoAP Endpoints

Hello,
In the draft-becker-core-coap-sms-gprs-05 text it looks like the device’s
MSISDN is used to identify to send a SMS to a device/host.
However for devices with multiple CoAP endpoints (i.e., Applications) how is
the individual CoAP endpoint identified?
In UDP and TCP the port is used to identify the CoAP endpoint within the
host; right? I am not sure how a CoAP endpoint is identified using the SMS
binding.
Thanks,
Tim
 
_______________________________________________ core mailing list
[email-masked] https://www.ietf.org/mailman/listinfo/core

---

From: "Carey, Timothy (Timothy)" <[email-masked]>
Date: Fri, 16 Jan 2015 13:56:33 +0000

Kepeng,

I may have my terms incorrect.

The use case is a device with multiple Applications where we need to send SMS messages to an Application.

I thought each Application instance was a CoAP endpoint. Did I get this term correct?

At any rate – I didn’t know in the SMS binding how an application is identified – The only identifier I see is the MSISDN.

BR,
Tim

From: Kepeng Li [mailto:[email-masked]]
Sent: Friday, January 16, 2015 7:46 AM
To: Carey, Timothy (Timothy); [email-masked]
Subject: Re: [core] CoAP over SMS Binding and Multiple CoAP Endpoints

Hi Tim,

In my opinion, in UDP and TCP, the port is used to identify different applications within the host, e.g. CoAP application, HTTP application.

I am not sure what is the use case to have multiple CoAP endpoints within the host.

Kind Regards
Kepeng

发件人: "Carey, Timothy (Timothy)" <[email-masked]<mailto:[email-masked]>>
日期: Friday, 16 January, 2015 9:30 pm
至: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>
主题: [core] CoAP over SMS Binding and Multiple CoAP Endpoints

Hello,
In the draft-becker-core-coap-sms-gprs-05 text it looks like the device’s MSISDN is used to identify to send a SMS to a device/host.
However for devices with multiple CoAP endpoints (i.e., Applications) how is the individual CoAP endpoint identified?
In UDP and TCP the port is used to identify the CoAP endpoint within the host; right? I am not sure how a CoAP endpoint is identified using the SMS binding.
Thanks,
Tim

_______________________________________________ core mailing list [email-masked]<mailto:[email-masked]> https://www.ietf.org/mailman/listinfo/core

---

From: "Carey, Timothy (Timothy)" <[email-masked]>
Date: Fri, 16 Jan 2015 14:26:01 +0000

Auzias,

coap+sms://0015105550101/sensors/temp-bathroom
coap+sms://0015105550101/sensors/temp-livingroom

Using the above – How is application defined? Which element in your mind of the URI defines the application?

BR,
Tim

From: [email-masked] [mailto:[email-masked]] On Behalf Of Maël Auzias
Sent: Friday, January 16, 2015 8:07 AM
To: Carey, Timothy (Timothy)
Cc: Kepeng Li; [email-masked]
Subject: Re: [core] CoAP over SMS Binding and Multiple CoAP Endpoints

Hi everyone,
The path of the URI is also a part of the "endpoint" (the application in this case).
According to the example in the draft<http://tools.ietf.org/id/draft-becker-core-coap-sms-gprs-05.html#rfc.section.10>, in you case, it could be:
coap+sms://0015105550101/sensors/temp-bathroom
coap+sms://0015105550101/sensors/temp-livingroom
coap+sms://0015105550101/sensors/temp-bedroom
...

IMHO, ​Different port for the same "host"​ (same physical devices) can be use for different reason but is not mandatory to use a single server for a single application (CoAP endpoint).
I hope you get your answer :)
Have a nice day !

​

​
Best regards,
---
​​
Auzias Maël - auzias.net<http://www.auzias.net/>
<http://auzias.net/?p=phd>
​PhD candidate<http://auzias.net/?p=phd>

​- ​
IRISA
​
Member of the Scientific Council<http://auzias.net/Generation14/index-en.html>
GSM : 0033 695 118 774

On Fri, Jan 16, 2015 at 2:56 PM, Carey, Timothy (Timothy) <[email-masked]<mailto:[email-masked]>> wrote:
Kepeng,

BR,
Tim

From: Kepeng Li [mailto:[email-masked]<mailto:[email-masked]>]
Sent: Friday, January 16, 2015 7:46 AM
To: Carey, Timothy (Timothy); [email-masked]<mailto:[email-masked]>
Subject: Re: [core] CoAP over SMS Binding and Multiple CoAP Endpoints

Hi Tim,

Kind Regards
Kepeng

Hello,

_______________________________________________
core mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/core

---

From: Maël Auzias <[email-masked]>
Date: Fri, 16 Jan 2015 15:07:11 +0100

Hi everyone,

The path of the URI is also a part of the "endpoint" (the application in
this case).
According to the example in the draft
<http://tools.ietf.org/id/draft-becker-core-coap-sms-gprs-05.html#rfc.section.10>,
in you case, it could be:
coap+sms://0015105550101/sensors/temp-bathroom
coap+sms://0015105550101/sensors/temp-livingroom
coap+sms://0015105550101/sensors/temp-bedroom
...

IMHO, ​Different port for the same "host"​ (same physical devices) can be
use for different reason but is not mandatory to use a single server for a
single application (CoAP endpoint).

​

​
Best regards,
---
​​
Auzias Maël - auzias.net <http://www.auzias.net/>
​PhD candidate
<http://auzias.net/?p=phd>
​- ​
IRISA
​
Member of the Scientific Council
<http://auzias.net/Generation14/index-en.html>
GSM : *0033 695 118 774*

On Fri, Jan 16, 2015 at 2:56 PM, Carey, Timothy (Timothy) <
[email-masked]> wrote:

> At any rate – I didn’t know in the SMS binding how an application is
> identified – The only identifier I see is the MSISDN.
>
>
>
> BR,
>
> Tim
>
>
>
> *From:* Kepeng Li [mailto:[email-masked]]
> *Sent:* Friday, January 16, 2015 7:46 AM
> *To:* Carey, Timothy (Timothy); [email-masked]
> *Subject:* Re: [core] CoAP over SMS Binding and Multiple CoAP Endpoints
>
>
>
> Hi Tim,
>
>
>
> *发件人: *"Carey, Timothy (Timothy)" <[email-masked]>
> *日期: *Friday, 16 January, 2015 9:30 pm
> *至: *"[email-masked]" <[email-masked]>
> *主题: *[core] CoAP over SMS Binding and Multiple CoAP Endpoints
>
>
>
> Hello,
> MSISDN is used to identify to send a SMS to a device/host. However for
> devices with multiple CoAP endpoints (i.e., Applications) how is the
> individual CoAP endpoint identified? In UDP and TCP the port is used to
> identify the CoAP endpoint within the host; right? I am not sure how a CoAP
> endpoint is identified using the SMS binding. Thanks, Tim
>
>
>
> [email-masked]

---

From: Carsten Bormann <[email-masked]>
Date: Fri, 16 Jan 2015 15:38:21 +0100

> The path of the URI is also a part of the "endpoint" (the application in

Actually, that is not the definition of "endpoint" that RFC 7252 uses:

   4.1.  Messages and Endpoints

   A CoAP endpoint is the source or destination of a CoAP message.  The
   specific definition of an endpoint depends on the transport being
   used for CoAP.  For the transports defined in this specification, the
   endpoint is identified depending on the security mode used (see
   Section 9): With no security, the endpoint is solely identified by an
   IP address and a UDP port number.  With other security modes, the
   endpoint is identified as defined by the security mode.

While we could theoretically redefine this for SMS, I would think it is
more consistent to say that, of

coap+sms://0015105550101

(the URI scheme and authority) is identifying the endpoint.

(The URI is not going to work, by the way, as no E.164 number starts
with 00.)

Grüße, Carsten

---

From: "Carey, Timothy (Timothy)" <[email-masked]>
Date: Fri, 16 Jan 2015 14:42:52 +0000

Carsten,

That is what got me started down this path...:-)

" With no security, the endpoint is solely identified by an
   IP address and a UDP port number"

In SMS the IP Address is equivalent to the MSISDN but what is the equivalent to the Port in the coap+sms URI scheme?

BR,
Tim

-----Original Message-----
From: Carsten Bormann [mailto:[email-masked]] 
Sent: Friday, January 16, 2015 8:38 AM
To: Maël Auzias; Carey, Timothy (Timothy)
Cc: [email-masked]
Subject: Re: [core] CoAP over SMS Binding and Multiple CoAP Endpoints

While we could theoretically redefine this for SMS, I would think it is more consistent to say that, of

coap+sms://0015105550101

(The URI is not going to work, by the way, as no E.164 number starts with 00.)

Grüße, Carsten

---

From: Maël Auzias <[email-masked]>
Date: Fri, 16 Jan 2015 15:46:03 +0100

Hi,

See rfc3986#3 <http://www.rfcreader.com/#rfc3986_line678>, in our case:
coap+sms is the scheme,
0015105550101 is the authority,
sensors/temp-livingroom is the path to your application.

The authority, in regular IP network, would be "host[:port]". In SMS
use-case it is the MSISDN. The path is then used to identify which app is
the destination of the CoAP message. You might also need to manage your
applications into a tree to redirect message to right app.

@Carsten:
If I send a CoAP request to coap://myserver.net/app1 or to another
application: coap://myserver.net/app2, as you said that " (the URI scheme
and authority) is identifying the endpoint", then it would be the same
endpoint ??
See endpoint definition of CoAP <http://www.rfcreader.com/#rfc7252_line242>
Endpoint
An entity participating in the CoAP protocol. Colloquially, an endpoint
lives on a "Node", although "Host" would be more consistent with Internet
standards usage, and is further identified by transport-layer multiplexing
information that can include a UDP port number and a security association
(Section 4.1).

" With no security, the endpoint is solely identified by an
   IP address and a UDP port number"
So, if no security then only single one application running on each host?

​
Best regards,
---
​​

On Fri, Jan 16, 2015 at 3:26 PM, Carey, Timothy (Timothy) <
[email-masked]> wrote:

> *From:* [email-masked] [mailto:[email-masked]] *On Behalf
> Of *Maël Auzias
> *Sent:* Friday, January 16, 2015 8:07 AM
> *To:* Carey, Timothy (Timothy)
> *Cc:* Kepeng Li; [email-masked]
>
> *​PhD candidate <http://auzias.net/?p=phd>*
>
>
>
> ​- ​
>
> IRISA
>
> ​
>
> *GSM : 0033 6**95 118 774*
>
>
>

---

From: Carsten Bormann <[email-masked]>
Date: Fri, 16 Jan 2015 17:46:05 +0100

> In SMS the IP Address is equivalent to the MSISDN but what is the equivalent to the Port in the coap+sms URI scheme?

I don't think there is anything in SMS that is a natural equivalent to a
port number -- SMS was designed with the assumption that the UE is the
application...

So, for SMS applications today, how do they select one of multiple
applications on a UE?  Maybe we can appropriate something there.

If that doesn't work out, we could still provide the port part of the
URI, and say that, if present, this always has to be encoded in a
Uri-Port option.  But we only should add this complexity if we think it
adds something useful.

Grüße, Carsten

---

From: "FOSSATI, Thomas (Thomas)" <[email-masked]>
Date: Fri, 16 Jan 2015 17:40:29 +0000

>applications on a UE?  Maybe we can appropriate something there.

One way is to use WDP which gives you 16-bit port multiplexing like UDP.

---

From: "Carey, Timothy (Timothy)" <[email-masked]>
Date: Fri, 16 Jan 2015 17:53:32 +0000

Yes we could use WPD encapsulation but we then use some more precious overhead (7 bytes).

I guess we have the options:
1) Indicate a port in the coap+sms scheme URI as described in the Becker ID (draft-becker-core-coap-sms-gprs-05)
 and/or 
2) Use WPD encapsulation as described in the Fossati ID (draft-fossati-dtls-over-gsm-sms-00).

What do you think Carsten?

BR,
Tim

---

From: Carsten Bormann <[email-masked]>
Date: Fri, 16 Jan 2015 18:57:14 +0100

> What do you think Carsten?

Again, you still need to convince me we need this.

But if we do, we have two issues:

-- how to indicate it in a URI?  The unused port syntax is certainly
attractive.

-- how to transport it?  WDP seems way more expensive than a CoAP
Uri-Port option.  What does it bring to the table?  (I'm old enough to
know what it is, but is it in actual use today?)

Grüße, Carsten

---

From: "FOSSATI, Thomas (Thomas)" <[email-masked]>
Date: Fri, 16 Jan 2015 18:18:52 +0000

On 16/01/2015 17:57, "Carsten Bormann" <[email-masked]> wrote:
>> 1) Indicate a port in the coap+sms scheme URI as described in the
>>Becker ID (draft-becker-core-coap-sms-gprs-05)
>>  and/or 

You mean an optional port in the coap+sms URI, correct?

>know what it is, but is it in actual use today?)

Encoding the Uri-Port is 3 bytes, whereas the WPD approach needs 5 bytes
in total (UDHL: 1 byte, IEI: 1 byte, IEL: 1 byte, source and destination
ports: 2 bytes) *if* the 8-bit port is used instead of the 16-bit.

2 bytes get wasted, but using WPD seems more homogeneous with what we have
in section 4.1.

---

From: Sunruinan <[email-masked]>
Date: Tue, 20 Jan 2015 05:47:51 +0000

Hi all,
I'm Ruinan Sun from Huawei. Just start to follow COAP work in IETF.
For this issue, I think SMS protocol has provided one method:
TP-UD(TP-User Data) can carry the application port information. An application entity is uniquely identified by the pair of TP-DA(TP-Destination-Address)/TP-OA (TP-Originating-Address)and the port address. Simliar as TCP/UDP ports in a TCP/IP network.

Ruinan Sun
Huawei

---

From: Carsten Bormann <[email-masked]>
Date: Tue, 20 Jan 2015 07:32:09 +0100

> I'm Ruinan Sun from Huawei. Just start to follow COAP work in IETF.

Hi Ruinan,

welcome to CoRE.

> TP-UD(TP-User Data) can carry the application port information. An
> application entity is uniquely identified by the pair of
> TP-DA(TP-Destination-Address)/TP-OA (TP-Originating-Address)and the
> port address. Simliar as TCP/UDP ports in a TCP/IP network.

It is the User Data (TP-UD) that is limited to 140 bytes (160 characters
in 7-bit mode).

The current draft doesn't seem to be explicit about this, but I think
the assumption is that we send the SMS with TP-UDHI=0.

draft-fossati-dtls-over-gsm-sms says that there is a cost of 7 bytes for
using the WDP header for port numbers.

One objective could be to use as little of the SMS API that a specific
SMS implementation would provide; this is one of the reasons why
draft-bormann-coap-misc defines an encoding for the 7-bit Text mode
(which is probably easiest to do with the widest variety of GSM modules,
"AT+CMGF=1" and all that...).

So we have to decide whether we want to use Text or PDU mode; if the
latter, whether we want to spend the bytes for TP-UDHI=1.
I don't have a strong opinion on Text vs. PDU; I wrote appendix A.5 of
draft-bormann-coap-misc to show that it is indeed possible (and
generally even slightly more efficient) to use Text mode.
This should be decided by people who actually use these GSM modules and
know their quirks.

Gruesse, Carsten

---

From: Julien Vermillard <[email-masked]>
Date: Tue, 20 Jan 2015 07:03:44 +0000

Hi,
I would also add binary SMS and advanced SMS features like port, source,
etc.. are often reserved to operators and then service providers have only
access to plain text SMS.

Regards,
Julien

---

From: "FOSSATI, Thomas (Thomas)" <[email-masked]>
Date: Tue, 20 Jan 2015 08:46:12 +0000

>using the WDP header for port numbers.

If using 1-byte port identifiers (IEI=0x04) the total cost is 5 bytes.

---

From: "Carey, Timothy (Timothy)" <[email-masked]>
Date: Tue, 20 Jan 2015 12:32:51 +0000

Carsten,

We were looking at the UDH further - it seems that is mechanism that is used when WAP is not used. 
We probably need to  allow for both mechanisms - My question was does this have any impact on the CoAP URI.

BR,
Tim

-----Original Message-----
From: Carsten Bormann [mailto:[email-masked]] 
Sent: Tuesday, January 20, 2015 1:32 AM
To: Sunruinan; FOSSATI, Thomas (Thomas); Carey, Timothy (Timothy); Maël Auzias
Cc: [email-masked]
Subject: Re: 答复: [core] CoAP over SMS Binding and Multiple CoAP Endpoints

Hi Ruinan,

welcome to CoRE.

> port address. Simliar as TCP/UDP ports in a TCP/IP network.

It is the User Data (TP-UD) that is limited to 140 bytes (160 characters in 7-bit mode).

The current draft doesn't seem to be explicit about this, but I think the assumption is that we send the SMS with TP-UDHI=0.

draft-fossati-dtls-over-gsm-sms says that there is a cost of 7 bytes for using the WDP header for port numbers.

One objective could be to use as little of the SMS API that a specific SMS implementation would provide; this is one of the reasons why draft-bormann-coap-misc defines an encoding for the 7-bit Text mode (which is probably easiest to do with the widest variety of GSM modules, "AT+CMGF=1" and all that...).

So we have to decide whether we want to use Text or PDU mode; if the latter, whether we want to spend the bytes for TP-UDHI=1.
I don't have a strong opinion on Text vs. PDU; I wrote appendix A.5 of draft-bormann-coap-misc to show that it is indeed possible (and generally even slightly more efficient) to use Text mode.
This should be decided by people who actually use these GSM modules and know their quirks.

Gruesse, Carsten