| | |
| | | public class RegisterRequestProcessor implements ISIPRequestProcessor {
|
| | |
|
| | | @Autowired
|
| | | private SipConfig config;
|
| | | private SipConfig sipConfig;
|
| | |
|
| | | @Autowired
|
| | | private RegisterLogicHandler handler;
|
| | |
| | | * 请求消息
|
| | | */
|
| | | @Override
|
| | | public void process(RequestEvent evt, SipLayer layer, ServerTransaction transaction) {
|
| | | public void process(RequestEvent evt, SipLayer layer) {
|
| | | try {
|
| | | System.out.println("收到注册请求,开始处理");
|
| | | Request request = evt.getRequest();
|
| | |
| | | // 校验密码是否正确
|
| | | if (authorhead != null) {
|
| | | passwordCorrect = new DigestServerAuthenticationHelper().doAuthenticatePlainTextPassword(request,
|
| | | config.getSipPassword());
|
| | | sipConfig.getSipPassword());
|
| | | }
|
| | |
|
| | | // 未携带授权头或者密码错误 回复401
|
| | |
| | | System.out.println("密码错误 回复401");
|
| | | }
|
| | | response = layer.getMessageFactory().createResponse(Response.UNAUTHORIZED, request);
|
| | | new DigestServerAuthenticationHelper().generateChallenge(layer.getHeaderFactory(), response, config.getSipDomain());
|
| | | new DigestServerAuthenticationHelper().generateChallenge(layer.getHeaderFactory(), response, sipConfig.getSipDomain());
|
| | | }
|
| | | // 携带授权头并且密码正确
|
| | | else if (passwordCorrect) {
|
| | |
| | | device.setTransport(isTcp ? "TCP" : "UDP");
|
| | | }
|
| | | }
|
| | | transaction.sendResponse(response);
|
| | | layer.getServerTransaction(evt).sendResponse(response);
|
| | | // 注册成功
|
| | | // 保存到redis
|
| | | // 下发catelog查询目录
|