. "$BST_LIB" # BST-TIMEOUT: 600 # measured 21 s on a fresh guest; see THE BOUND below # libexosip2 5.3.0 (meta-networking recipes-support/libexosip2) -- the eXosip2 # session layer over libosip2, proved by the only thing worth proving about a SIP # stack: the dialogue it puts on the wire and what it makes of the answers. # # WHAT THIS ASSERTS, AND WHY IN TWO HALVES. The suite reads two independent # records of one REGISTER dialogue and asserts on both: # # * what the LIBRARY REPORTED -- the probe's own lines: the return code of # every API call, one line per eXosip event, the challenge count, the final # status. This is the half a consumer sees. # * what WENT ON THE WIRE -- the responder's verbatim request transcript: the # request lines, the CSeq progression, the Call-ID and From-tag, the Via # branches, and every field of the Authorization header including the digest. # This is the half a peer sees. # # Both are needed and neither implies the other. A stack that reported # REGISTRATION_SUCCESS while sending a second REGISTER with the SAME CSeq would # satisfy every event case and fail the wire cases; one that emitted a perfect # retry but surfaced it as a failure would do the reverse. # # THE RESPONDER is libexosip2-sipd, a 2.1 MB single-process registrar this port # builds at recipe time beside the probe. Its header carries the protocol # reasoning and why it does NOT validate the digest -- the digest is the # library's arithmetic, and a registrar that recomputed it would be checking # itself. It is NOT the `socat ... EXEC: