SIP_Emulation: Handle SIP REGISTER from peer
This is needed when emulating an IMS core. Change-Id: I49dfe54434113eb8b75306a3a8ddda940fa14743
This commit is contained in:
parent
01f1df8ef8
commit
4757be713f
|
@ -249,6 +249,19 @@ runs on SIP_Emulation_CT {
|
|||
var SipUrl sip_to;
|
||||
|
||||
alt {
|
||||
/* SIP REGISTER was received on SIP socket/port */
|
||||
[] SIP.receive(tr_SIP_REGISTER) -> value sip_req {
|
||||
var CallidString call_id := sip_req.msgHeader.callId.callid;
|
||||
if (f_call_id_known(call_id)) {
|
||||
/* re-register? */
|
||||
vc_conn := f_comp_by_call_id(call_id);
|
||||
} else {
|
||||
/* new REGISTER: check expect */
|
||||
vc_conn := ops.create_cb.apply(sip_req, id);
|
||||
f_call_table_add(vc_conn, call_id);
|
||||
}
|
||||
CLIENT.send(sip_req) to vc_conn;
|
||||
}
|
||||
/* SIP INVITE was received on SIP socket/port */
|
||||
[] SIP.receive(tr_SIP_INVITE) -> value sip_req {
|
||||
var CallidString call_id := sip_req.msgHeader.callId.callid;
|
||||
|
@ -355,8 +368,9 @@ runs on SIP_Emulation_CT return SIP_ConnHdlr {
|
|||
var SipUrl sip_to;
|
||||
var integer i;
|
||||
|
||||
if (sip_req.requestLine.method != INVITE_E) {
|
||||
setverdict(fail, "SIP ExpectedCreateCallback needs INVITE");
|
||||
if (sip_req.requestLine.method != INVITE_E and
|
||||
sip_req.requestLine.method != REGISTER_E) {
|
||||
setverdict(fail, "SIP ExpectedCreateCallback needs REGISTER/INVITE");
|
||||
mtc.stop
|
||||
return ret;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue