Asterix Server configuration for Relay control
Here is the actual configuration as a showcase of our company Asterisk server. We use two different extensions, reachable from even outside, which connect to an Annuncicom 1000 and select/deselect the relays at connnection establishment. The commands sent (via SIP INFO/RFC2833) are just examples, the complete set is documented with the SIP Client firmware.
In the example below, extension 9999 is an Annuncicom 1000, and by dialling +4143xxxxxxx from external phone line, you will be connected to the Annuncicom and all relays will be reset (off - value 0), in the second line, if you dial +4143xxxxxxy, right after connection initiation, relays 1+2 (bit 0 and 1, value 3 in decimal) will be set to on.
exten => 043xxxxxxx,1,Dial(SIP/9999,10,D(#2*0*)) ; can be reached from external exten => 043xxxxxxy,1,Dial(SIP/9999,10,D(#2*3*)) ; can be reached from external
Of course, you can also send such commands (#2*7* for example to set relay 1,2,3) while the connection is established from the calling phone, if it supports DTMF and all handling of the incoming phone is set up correctly in Asterisk (that is beyond our scope, standard Asterisk docs explain that well).
AND, sure, you can hide the relay selection from the user also by setting up dial-able extensions within Asterisk which use the same target and just do the relay selection. There is no difference between internal and external extensions in that sense in Asterisk. Other SIP based systems work similar