<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/39935/provisioning-link-establishment</link><description>Hey everyone, 
 
 1) can you explain me please what is going on by the Link Establishment Process by the Provisioning: do we set up a connection like by the TCP and after the Link is Opened we will get an acknowledgement for every provisioning message</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 06 Nov 2018 09:04:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/39935/provisioning-link-establishment" /><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/156083?ContentTypeID=1</link><pubDate>Tue, 06 Nov 2018 09:04:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1a7d748a-f1bb-4962-818d-fbe203f7832d</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>[quote user="smart_life"]But in case of PB-GATT we have a real connection right ?&amp;nbsp;[/quote]
&lt;p&gt;&amp;nbsp;In PB-GATT you have a standard BLE connection. &lt;a href="http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v2.2.0/md_examples_light_switch_README.html?cp=4_1_0_4_0"&gt;See the documentation&lt;/a&gt;: &amp;quot;&lt;span&gt;After provisioning, the proxy server application starts advertising a connectable proxy beacon, which can be connected to by a Proxy Client to interact with the mesh. The Proxy Client acts like any other mesh device, but sends all its mesh communication over a BLE connection to a Proxy Server, which relays it into the mesh.&amp;quot;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;If that is what you mean by &amp;quot;real connection&amp;quot;, then yes, you are correct.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/155828?ContentTypeID=1</link><pubDate>Sat, 03 Nov 2018 06:59:48 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:412738ff-0b3e-4643-8ef6-9da0c122ae62</guid><dc:creator>smart_life</dc:creator><description>&lt;p&gt;Thank you for the answer,&amp;nbsp; it is not satisfactory but i think i got it now.&amp;nbsp; I thought the link establishment message is an indicator for the Provisionee that after that link open message and till the link is closed ,each message has to be acknowledged on some provisioning&amp;nbsp;protocol layer. In other words i thought link establishment == connection&amp;nbsp; , like the TCP connection.&amp;nbsp;&lt;strong&gt;TCP provides reliable, ordered, and&amp;nbsp;error-checked&amp;nbsp;delivery of a stream of&amp;nbsp;octets.&amp;nbsp;&amp;nbsp;&lt;/strong&gt;But it seams that we need the link establishment just to distinguish between sessions and we need it to say how long the session will be. We still have an unreliable delivery without of packet order and error checked delivery. But in case of PB-GATT we have a real connection right ?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;In Mesh Specification in&amp;nbsp;5.3.2&amp;nbsp;we have the definition of the&amp;nbsp; link establishment procedure:&lt;/p&gt;
&lt;p&gt;The Link Establishment procedure is used to establish a session for a bearer that does not have inherent&lt;br /&gt;session management. A session is identified by using a Link ID that is static for the duration of the&lt;br /&gt;session and shall be randomly generated to prevent collisions between sessions.&lt;/p&gt;
&lt;p&gt;The Link Open message contains the Device UUID of the device. On PB-ADV, the PB-ADV PDU format includes a Link ID field.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/155706?ContentTypeID=1</link><pubDate>Fri, 02 Nov 2018 09:32:16 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:14a7fe34-20b4-48f8-a6f8-0190888ee663</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;Regarding Q2 in your original question, see the mesh_provisionee.c file of the light switch server in mesh sdk v2.2.0:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;        case NRF_MESH_PROV_EVT_STATIC_REQUEST:
            APP_ERROR_CHECK(nrf_mesh_prov_auth_data_provide(&amp;amp;m_prov_ctx,
                                                                 m_params.p_static_data,
                                                                 NRF_MESH_KEY_SIZE));&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;In the provisioner example, you can take a look at prov_provisioner.c:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;        case NRF_MESH_PROV_OOB_METHOD_STATIC:
            /* Request static provisioning data from the application. */
            event.type = NRF_MESH_PROV_EVT_STATIC_REQUEST;
            event.params.static_request.p_context =  p_ctx;
            p_ctx-&amp;gt;state = NRF_MESH_PROV_STATE_WAIT_OOB_STATIC;
            p_ctx-&amp;gt;event_handler(&amp;amp;event);&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;&amp;amp; also provisioner_helper.c:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;   case NRF_MESH_PROV_EVT_STATIC_REQUEST:
        {
            const uint8_t static_data[NRF_MESH_KEY_SIZE] = STATIC_AUTH_DATA;
            ERROR_CHECK(nrf_mesh_prov_auth_data_provide(p_evt-&amp;gt;params.static_request.p_context, static_data, NRF_MESH_KEY_SIZE));
            __LOG(LOG_SRC_APP, LOG_LEVEL_INFO, &amp;quot;Static authentication data provided\n&amp;quot;);
            break;&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/155691?ContentTypeID=1</link><pubDate>Fri, 02 Nov 2018 08:52:57 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:75fa264f-f36f-4831-a342-1a40e1635896</guid><dc:creator>Bj&amp;#248;rn Kvaale</dc:creator><description>&lt;p&gt;Yes, if you compare the diagram you uploaded with the diagram in Figure 5.10 in the Mesh Spec, you notice they are almost identical:&lt;/p&gt;
&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/320x240/__key/support-attachments/beef5d1b77644c448dabff31668f3a47-423ae225580947e5af3b51de78d3a795/pastedimage1541148835672v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;We are required to follow the spec so that our mesh stack is Bluetooth SIG certified. The SIG writes the spec &amp;amp; the developers follow the spec, but can decide how to best implement the spec in code.&lt;/p&gt;
[quote user="smart_life"]Do we have a connection after link establishment messages between the provisioner and provisionee with handshake and necessary&amp;nbsp;message acknowledgement or it is done for some other reasons?[/quote]
&lt;p&gt;Like the spec says, the link is established to provision the unprovisioned device. If this answer is not satisfactory, I am afraid I do not fully understand the question. The link is first established between the provisioner &amp;amp; unprovisioned device, then the provisioning process occurs &amp;amp; finally the link closes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/154847?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 11:40:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7e38a703-858c-4d04-8d4c-112c9df6bf56</guid><dc:creator>smart_life</dc:creator><description>&lt;p&gt;Im&amp;nbsp;not talking about the whole Provisioning Process , I just what to know the reason for the Link Establishment in the Specification v1.0 in (5.3.2) .&amp;nbsp; In Nordic&amp;nbsp;&lt;span&gt;Mesh provisioning Introduction it seems that you also use the Link Establishment Mechanism as the Bluetooth SIG specified it: see picture below (in the begin in blue you have Link establishment&amp;nbsp; Messages) . It is also necessary and you implement it but i don&amp;#39;t understand the reason. Do we have a connection after link establishment messages between the provisioner and provisionee with handshake and necessary&amp;nbsp;message acknowledgement or it is done for some other reasons?&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.meshsdk.v0.9.1/provisioning.png" alt=" " /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/154842?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 11:12:52 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bb418ed2-de64-4c27-9532-82f799e91b24</guid><dc:creator>awneil</dc:creator><description>[quote userid="72348" url="~/f/nordic-q-a/39935/provisioning-link-establishment/154839"]I&amp;#39;m asking in general about Bluetooth Mesh [/quote]
&lt;p&gt;Remember that we can&amp;#39;t read your mind - so you need to say that in your post!&lt;/p&gt;
&lt;p&gt;The Bluetooth Specification defines what happens &lt;em&gt;within&lt;/em&gt; the mesh - where BLE is used as the transport.&lt;/p&gt;
&lt;p&gt;See the Bluetooth SIG pages for details.&lt;/p&gt;
&lt;p&gt;See the links here for starters:&amp;nbsp;&lt;a href="https://devzone.nordicsemi.com/f/nordic-q-a/39892/ble-mesh-1-0-cellphone/154813#154813"&gt;https://devzone.nordicsemi.com/f/nordic-q-a/39892/ble-mesh-1-0-cellphone/154813#154813&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;How details about the provisioning process get communicated to things &lt;em&gt;outside&lt;/em&gt; the Mesh is beyond the scope of the specification - so implementations will vary as required for the specific application.&lt;/p&gt;
&lt;p&gt;eg, the Nordic light switch demo uses the Dev Kit buttons, and log messages for status output...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/154839?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 10:58:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:582f21cb-81dd-45ca-b728-337bb94a9222</guid><dc:creator>smart_life</dc:creator><description>&lt;p&gt;I&amp;#39;m asking in general about Bluetooth Mesh which is specified in v1.0 but if there are some differences between the specification and&amp;nbsp; nordic implementation than please tell me additional about the differences also&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Provisioning Link Establishment</title><link>https://devzone.nordicsemi.com/thread/154837?ContentTypeID=1</link><pubDate>Mon, 29 Oct 2018 10:52:39 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7a99c182-79c4-4481-bf35-9a611c669e33</guid><dc:creator>awneil</dc:creator><description>&lt;p&gt;Are you talking about Bluetooth Mesh?&lt;/p&gt;
&lt;p&gt;Are you asking in general, or specifically about one of the Nordic Mesh SDK demos?&lt;/p&gt;
&lt;p&gt;The&amp;nbsp;&lt;span&gt;Nordic Mesh SDK includes all the source code.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>