Howto to use X-BF Headers

From berofix - professional SIP gateway
Jump to: navigation, search

berofix supports several SIP X-Headers to encapsulate ISDN Information Elements in SIP Messages. Incoming IEs will be coded into SIP Headers and berofix will also understand IEs coming from SIP Messages.

The list of the berofix headers are:

X-BF_CALLED_PN: type=$TON$;plan=$PLAN$;dad=$DAD$(ro)
X-BF_CALLING_PN: type=$TON$;plan=$PLAN$;present=$PRES$;screen=$SCREEN$;oad=$OAD
X-BF_CONNECT_PN: type=$TON$;plan=$PLAN$;pres=$PRES$;screen=$SCREEN$;cad=$CAD$
X-BF_CAUSE: cause=$CAUSE$ 
X-BF_USERUSER: protocol=$PROTOCOL$;length=$LENGTH$;useruser=$DATA$
X-BF_PROGRESS: coding=$CODING$;location=$LOCATION$;indicator=$INDICATOR$
X-BF_CHANNEL_ID: channel=$CHANNEL$(ro);exclusive=$EXCLUSIVE$(ro)
X-BF_BEARER: capability=$CAP$;user=$USER$;urate=$URATE$;rate=$RATE$;mode=$MODE$
X-BF_REDIR_NR: type=$TON$;plan=$PLAN$;present=$PRESENT$;screen=$SCREEN$;rad=$RAD$
X-BF_COMPLETE: complete=$SENDING_COMPLETE$
X-BF_KEYPAD: keypad=$KEYPAD$
X-BF_FACILITY: length=$LENGTH$;facility=$DATA$
X-BF_LLC: length=$LENGTH$;llc=$DATA$
X-BF_HLC: length=$LENGTH$;hlc=$DATA$

Information Elements that are marked with (ro) are readonly, this means that they are only encoded from ISDN into SIP messages, but they are ignored when they are encoded from SIP into ISDN messages. Those Information Elements that have a $DATA$ and $LENGTH$ field are base64 encoded. For example in the case of the Destination Address (dad) of the Called_PN Information Element it makes no sense to specify the number in this field, since beroFix uses the TO: Header for the encoding of the Destination Address.

Each Value has the exact numeric value of the corresponding ISDN Information Element. For example the $TON$ Value can contain:

0 - unknown
1 - International
2 - National
4 - Subscriber

Emergency Calls

If all Channels in beroFix are in use and an emergency call is requested, beroFix has the ability to drop a non-emergency call.

You can mark a Call as emergency call with the "X-BF_EMERGENCY" Header. In Asterisk you can do the following statement in your extensions.conf:

exten => _X.,1,SIPAddHeader(X-BF_EMERGENCY: 1)
exten => _X.,n,Dial(SIP/${EXTEN}@berofix)