Skip to content
Snippets Groups Projects
Commit cc9936fb authored by Wenpeng Song's avatar Wenpeng Song
Browse files

update

parent 8571e4ff
Branches
No related tags found
No related merge requests found
...@@ -6,14 +6,19 @@ sequenceDiagram ...@@ -6,14 +6,19 @@ sequenceDiagram
participant A as dectmngr participant A as dectmngr
participant B as voicemngr participant B as voicemngr
participant C as chan-voicemngr participant C as chan-voicemngr
participant D as shared memory
alt is fxs alt is fxs
Note over B: update out_request_cap with fxs cap <br/> --------------------------------------------------- Note over B: update out_request_cap with fxs cap <br/> ---------------------------------------------------
B->>D: Write out_request_cap
else is dect else is dect
Note over A: update out_request_cap with enpt cap <br/> ----------------------------------------------------- Note over A: update out_request_cap with enpt cap <br/> -----------------------------------------------------
A->>D: Write out_request_cap
A->>B: new call A->>B: new call
end end
B->>C: init call B->>C: init call
Note over C: chan_voicemngr_start_calling<br/>/chan_voicemngr_new: <br/> sem_wait() <br/> Read out_request_cap from shared memory <br/> sem_post() <br/> update cap and continue with outgoing process <br/> ------------------------------------------------------------------ Note over C: chan_voicemngr_start_calling<br/>/chan_voicemngr_new: <br/> Read out_request_cap from shared memory <br/> --------------------------------------------------------------
D->>C: Read out_request_cap
Note over C: chan_voicemngr_start_calling<br/>/chan_voicemngr_new: <br/> update cap and continue with outgoing process <br/> ------------------------------------------------------------------
``` ```
#### incoming calls #### incoming calls
...@@ -23,20 +28,34 @@ sequenceDiagram ...@@ -23,20 +28,34 @@ sequenceDiagram
participant B as chan-voicemngr participant B as chan-voicemngr
participant C as voicemngr participant C as voicemngr
participant D as dectmngr participant D as dectmngr
participant E as shared memory
Note left of A : Incoming call Note left of A : Incoming call
Note over A: incoming codec offer negotiation with pjsip cap <br/> and keep the list <br/>which used for calling chan_voicemngr <br/> ------------------------------------------------------------------ Note over A: incoming codec offer negotiation with pjsip cap <br/> and keep the list <br/>which used for calling chan_voicemngr <br/> ------------------------------------------------------------------
A->>B: chan_voicemngr_new(..., codec_list) A->>B: chan_voicemngr_new(..., codec_list)
Note over B: chan_voicemngr_new: <br/> sem_wait() <br/> Read extension_cap from shared memory <br/> update in_request_cap to shared memory <br/> sem_post() <br/> update cap and continue with incoming process <br/> hangup chan if no shared cap <br/> ------------------------------------------------------------------ Note over B: chan_voicemngr_new: <br/> Read extension_cap from shared memory <br/> -----------------------------------------------------------
B->>A: cap update and continue with incoming process E->>B: Read extension_cap
A->>C: indicate RINGING alt no avaliable cap in extension_cap
alt is fxs answered Note over B: hangup chan if no shared cap <br/> -------------------------------------------
Note over C: update answered_cap <br/> combined with <br/> in_request_cap and fxs cap <br/> ---------------------------------------- else incoming cap avaliable in extension_cap
else is dect answered Note over B: update in_request_cap to shared memory <br/> update cap and continue with incoming process <br/> ------------------------------------------------------------------
Note over D: update answered_cap <br/> combined with <br/> in_request_cap and enpt cap <br/> ------------------------------------------ B->>E: Write in_request_cap
B->>A: cap update and continue with incoming process
A->>C: indicate RINGING
alt fxs answered
Note over C: update answered_cap <br/> combined with <br/> in_request_cap and fxs cap <br/> ----------------------------------------
E->>C: Read in_request_cap
C->>E: Write answered_cap
else dect answered
Note over D: update answered_cap <br/> combined with <br/> in_request_cap and enpt cap <br/> ------------------------------------------
E->>D: Read in_request_cap
D->>E: Write answered_cap
D->>C: Answered/OFFHOOK
end
C->>A: Answered
Note over A: pjsip/res_pjsip_sdp_rtp.c: <br/> update cap with answered_cap. <br/> --------------------------------------------
E->>A: Read answered_cap
Note left of A: 200OK
end end
C->>A: Answered
Note over A: pjsip/res_pjsip_sdp_rtp.c: <br/> update cap with answered_cap. <br/> --------------------------------------------
Note left of A: 200OK
``` ```
### Tasks need to be done ### Tasks need to be done
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment