Skip to content

Commit 3f500c1

Browse files
laf0rgesur5r
authored andcommitted
ISUP: support transfer capability interworking with Q.931
A Q.931 call has the 'transfer-cap' attribute set to 'udi' for data calls. The ISUP module must pick this up and encode it in the UseServiceInformation IE to preserve this vital information. Inversely, a call arriving via ISUP must put its transfer-capability into the 'transfer-cap' attribute, so that when it's routed to Q.931 it is preserved. Without this transfer-capability transparency, no UDI/RDI data calls or ISDN video calls can transition on the Q931/ISUP boundary See also yatevoip#12
1 parent d523909 commit 3f500c1

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

libs/ysig/isup.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2808,11 +2808,13 @@ bool SS7ISUPCall::copyParamIAM(SS7MsgISUP* msg, bool outgoing, SignallingMessage
28082808
param(dest,src,"CallingPartyNumber.complete","complete","true");
28092809
m_format = src.getValue(YSTRING("format"),isup()->format());
28102810
dest.setParam("UserServiceInformation",m_format);
2811+
param(dest,src,"UserServiceInformation.transfercap","transfer-cap","");
28112812
return true;
28122813
}
28132814
// Incoming call
28142815
m_format = dest.getValue(YSTRING("UserServiceInformation"),isup()->format());
28152816
dest.setParam("format",m_format);
2817+
dest.setParam("transfer-cap",dest.getValue(YSTRING("UserServiceInformation.transfercap")));
28162818
dest.setParam("caller",dest.getValue(YSTRING("CallingPartyNumber")));
28172819
//dest.setParam("callername",dest.getValue(""));
28182820
dest.setParam("callernumtype",dest.getValue(YSTRING("CallingPartyNumber.nature")));

0 commit comments

Comments
 (0)