I am trying to implement an RFC 6910 based application using Asterisk,
It provides a “completion of calls” feature defined in this specification that allows the caller of a failed call to be notified when the callee becomes available to receive a call.
in general, it’s called busy call back,
Eg: User_A in PBX(A) dials to User_B in PBX(B), User A gets a busy tone/message if user b is busy with a call then User_A press a specific key (DTMF) to set the callback. whenever the User_A finishes his call the PBX(A) dialls to User_A and User_B automatically and connect together.
Please let me know if anyone has done the above before already, or kindly support me to do the above task.
Please refer below basic concept I am planning to do,
in my scenario, I have a Proprietary PBX that works in RFC6910 and I need to connect an Asterisk to get the above feature done.
- Asterisk PBX --------- SIP with RFC6910------> - Proprietary PBX -
Since the Asterisk does not support RFC6910, I am trying to write an AGI Script to send and receive the RFC6910 based massagers listed below,
In coming Call
Send “486 Busy Here” (If Asterisk side User is busy)
Session Initiation Protocol (486)
Status-Line: SIP/2.0 486 Busy Here
Receive “SUBSCRIBE” if User_A press DTMF and store it in a database,
CSeq: 1 SUBSCRIBE
Sequence Number: 1
Send 200 OK after receiving “SUBSCRIBE”
CSeq: 2 PRACK
Sequence Number: 2
Send NOTIFY (with the Asterisk side user status)
cc-state: queued\r\n (If busy)
cc-URI: sip:CC_856;76 @ 10.40.82.230;transport=UDP\r\n
cc-state: ready\r\n (If busy)
cc-URI: sip: CC_856;76 @10.40.82.230;transport=UDP\r\n
Out Going Call
- Send “SUBSCRIBE” and DTMF if 486 Bust here received,
- Send Invite if “cc-state: ready” in NOTIFY Message
Kindly, advise me on,
Can i send specific SIP Messages using Asterisk Dial plan? if yes please share an example,
if above is no, can i use AGI to send specific SIP Messages? if yes please share an example,
if above is no, what is the possible method to address above task?