I have just set my 1st PBX, and works almost as I want.
However, I faced a small issue:
I use an external trunk. If a call comes from the trunk and accepted, works fine. But, if the client refuses the call while ringing (declines), the trunk will continue to call.
After some investigations, found something:
Once the client declines, the sip phone sends a ‘603 Decline’ message to the PBX
After then, the PBX will send a User Busy message to the other client and the call terminates normally.
BUT, since the other client is a PBX server (trunk), it expects a ‘603’, as iit treats my PBX as a client, but receives a User Busy from my server.
My opinion is, that the above conflict causes the trunk to continue calling.
I trie to send a decline message using ‘Hangup(603)’ but it did not solved the issue. Seems like the message sent to the trunk is ‘603 Delcined’, while the trunk expects ‘603 Decline’.
Guess the former is a result and the latter is a command.
I would like to know how to respond to the trunk the way it expects.
BTW. tested the trunk with a sip client, and it could decline the call as expected.
Thanks for your help.