pjsip-pjproject/tests/pjsua/scripts-recvfrom/215_reg_good_multi_ok.py

40 lines
1.6 KiB
Python

import inc_sip as sip
import inc_sdp as sdp
pjsua = "--null-audio --id=sip:CLIENT --registrar sip:127.0.0.1:$PORT " + \
"--username theuser1 --realm python1 --password passwd --next-cred " + \
"--username theuser2 --realm python2 --password passwd " + \
"--auto-update-nat=0"
req1 = sip.RecvfromTransaction("Initial registration", 401,
include=["REGISTER sip"],
resp_hdr=["WWW-Authenticate: Digest realm=\"python1\", nonce=\"1234\"",
"WWW-Authenticate: Digest realm=\"python2\", nonce=\"6789\""],
expect="SIP/2.0 401"
)
req2 = sip.RecvfromTransaction("Registration retry with auth (not allowed multiple auth)", 200,
include=["REGISTER sip",
"Authorization:", # [\\s\\S]+Authorization:"
"realm=\"python1\"", # "realm=\"python2\"",
"username=\"theuser1\"", # "username=\"theuser2\"",
"nonce=\"1234\"", # "nonce=\"6789\"",
"response="],
expect="registration success",
pj_config="PJSIP_AUTH_ALLOW_MULTIPLE_AUTH_HEADER.*: 0"
)
req3 = sip.RecvfromTransaction("Registration retry with auth (allowed multiple auth)", 200,
include=["REGISTER sip",
"Authorization:[\\s\\S]+Authorization:", # Must have 2 Auth hdrs
"realm=\"python1\"", "realm=\"python2\"",
"username=\"theuser1\"", "username=\"theuser2\"",
"nonce=\"1234\"", "nonce=\"6789\"",
"response="],
expect="registration success",
pj_config="PJSIP_AUTH_ALLOW_MULTIPLE_AUTH_HEADER.*: 1"
)
recvfrom_cfg = sip.RecvfromCfg("Multiple authentication challenges",
pjsua, [req1, req2, req3], pj_config="PJSIP_AUTH_ALLOW_MULTIPLE_AUTH_HEADER")