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 [email protected] https://lists.su.se/mailman/listinfo/yxa-devel
