Hi, all,

I have two questions on the design of YXA.

1. Client transaction and server transaction are implemented as
gen_server, why not choose gen_fsm?
    Client and server transaction are all described as FSM in rfc3261,
gen_fsm woulld be a very good fit.

2. For each incoming SIP message, YXA spawns a process no matter if
the message is a part of transaction or not.
    For the following typical proxy call flows,

  UAC             Proxy            UAS

   |    INVITE-1   |                     |
   |------------------>|                     |
   |    100-2        |                     |
   |<------------------|   INVITE-3     |
   |                    |------------------->|
   |                    |    100-4         |
   |                    |<-------------------|
   |                    |    180-5         |
   |                    |<-------------------|
   |    180-6        |                     |
   |<------------------|                     |
   |                    |    200-7         |
   |                    |<-------------------|
   |    200-8        |                     |
   |<------------------|                     |
   |                    |                     |
   |    ACK-9       |                    |
   |------------------>|                     |
   |                    |    ACK-10      |
   |                    |------------------->|


   Upon receiving Message 100-4, message 180-5, and message 200-7, YXA
creates a process, and then just passes the message to client and
server transaction.

   Is it better to find if the message is part of client/server
transaction first, if yes then just passes the message to the
corresponding transaction without spawning a process?

Thanks for sharing the thought,

Best regards,

kaiduan
_______________________________________________
Yxa-devel mailing list
Yxa-devel@lists.su.se
https://lists.su.se/mailman/listinfo/yxa-devel

Reply via email to