@@ -220,6 +220,47 @@ Without `db_url` the mode runs as a pure-pull cluster.
220220 table over MI-datagram — the reply can neither be built in pkg nor fit a
221221 datagram, and the attempt wedges the node.
222222
223+ ## Build
224+
225+ Everything the mode needs is in this tree: the four touched modules
226+ (` usrloc ` , ` registrar ` , ` cachedb_perf ` , ` db_sqlite ` ), two cachedb core
227+ headers and one line in ` lib/reg ` — 46 commits over upstream ` master ` , no
228+ new external libraries. A plain checkout builds the bin-transport variant;
229+ the encrypted ` clctr ` transport compiles in only when the separate
230+ ` clusterer_controller ` module is present, and is not required.
231+
232+ Prerequisites (Debian/Ubuntu names): ` build-essential bison flex ` for the
233+ core; ` libsqlite3-dev ` for an SQLite ledger or
234+ ` default-libmysqlclient-dev ` for MySQL; ` libncurses-dev ` only if you want
235+ ` make menuconfig ` . Nothing else for the module set below.
236+
237+ ``` sh
238+ git clone -b feature/usrloc-pull-sharing-devel https://github.com/Lt-Flash/opensips.git
239+ cd opensips
240+ make -j" $( nproc) " all include_modules=" cachedb_perf db_sqlite" # db_mysql instead, or both
241+ make install prefix=/opt/opensips-pullshare
242+ ```
243+
244+ ` cachedb_perf ` , ` usrloc ` , ` registrar ` , ` clusterer ` and ` proto_bin ` are
245+ part of the default module set; the ` db_* ` ledger backends are excluded
246+ by default upstream, hence ` include_modules ` . Installing into its own
247+ prefix keeps the build side by side with a stock OpenSIPS — point ` mpath `
248+ at ` <prefix>/lib64/opensips/modules/ ` (or ` lib/ ` on 32-bit).
249+
250+ Verify:
251+
252+ ``` sh
253+ /opt/opensips-pullshare/sbin/opensips -V | head -1 # opensips 4.1.0-dev
254+ ls /opt/opensips-pullshare/lib64/opensips/modules/ | grep -E ' cachedb_perf|usrloc|registrar|clusterer|proto_bin'
255+ ```
256+
257+ Runtime module set for the mode: ` proto_udp ` , ` proto_bin ` , ` tm ` , ` sl ` ,
258+ ` signaling ` , ` clusterer ` , ` cachedb_perf ` , ` usrloc ` , ` registrar ` , plus a
259+ ` db_* ` driver if a ledger is configured and ` mi_datagram ` /` mi_http ` for
260+ the MI surface. Verified 2026-08-22: a fresh shallow clone of this branch
261+ from the public URL builds the whole tree with the command above on
262+ Ubuntu 20.04 (gcc 9) with zero errors.
263+
223264## Testing
224265
225266* ` scripts/… ` rigs live outside the tree on the dev host: a 2-node netns
0 commit comments